From 1dc75cda6b5e8431fbc1de90d73f953d5e102f20 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Thu, 6 Jul 2006 13:44:10 +0000 Subject: [PATCH 001/336] *** empty log message *** --- admin/FOR-RELEASE | 2 ++ 1 file changed, 2 insertions(+) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index fb172a99a63..ac6f22471d1 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -64,6 +64,8 @@ It seems that to fix this, w32 server sockets must use WSAAsyncSelect * DOCUMENTATION +** Delete all @tindex commands from the Emacs Lisp Manual. + ** Check the Emacs Lisp manual. Each manual section should be checked for factual correctness From 077f47e2a55d369277be24c5a8181f33b61db837 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 6 Jul 2006 13:55:49 +0000 Subject: [PATCH 002/336] * files.el (find-alternate-file): Doc fix. --- lisp/ChangeLog | 4 ++++ lisp/files.el | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ed9b3775d5f..73f4292c6ed 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-07-06 Chong Yidong + + * files.el (find-alternate-file): Doc fix. + 2006-07-05 Richard Stallman * files.el (abbreviate-file-name): Add save-match-data. diff --git a/lisp/files.el b/lisp/files.el index 750cb36068a..90ca58a7511 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -1192,7 +1192,11 @@ If the current buffer now contains an empty file that you just visited \(presumably by mistake), use this command to visit the file you really want. Interactively, or if WILDCARDS is non-nil in a call from Lisp, -expand wildcards (if any) and replace the file with multiple files." +expand wildcards (if any) and replace the file with multiple files. + +If the current buffer is an indirect buffer, or the base buffer +for one or more indirect buffers, the other buffer(s) are not +killed." (interactive (let ((file buffer-file-name) (file-name nil) From 30088515384d17657efe175505d7542380b1ab64 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 6 Jul 2006 22:48:16 +0000 Subject: [PATCH 003/336] * server.el (server-select-display): Don't make the temp frame minibuffer-only, in case it's not a temp frame. (server-process-filter): Don't delete the temp frame if it's the only one we have on that display. --- lisp/ChangeLog | 5 +++++ lisp/server.el | 22 ++++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 73f4292c6ed..9c1cbbcf949 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2006-07-06 Chong Yidong + * server.el (server-select-display): Don't make the temp frame + minibuffer-only, in case it's not a temp frame. + (server-process-filter): Don't delete the temp frame if it's the + only one we have on that display. + * files.el (find-alternate-file): Doc fix. 2006-07-05 Richard Stallman diff --git a/lisp/server.el b/lisp/server.el index 266d9d7824f..fc0f90f6f05 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -203,18 +203,14 @@ are done with it in the server.") (dolist (frame (frame-list)) (when (equal (frame-parameter frame 'display) display) (select-frame frame))) - ;; If there's no frame on that display yet, create a dummy one - ;; and select it. + ;; If there's no frame on that display yet, create and select one. (unless (equal (frame-parameter (selected-frame) 'display) display) (select-frame (make-frame-on-display display - ;; This frame is only there in place of an actual "current display" - ;; setting, so we want it to be as unobtrusive as possible. That's - ;; what the invisibility is for. The minibuffer setting is so that - ;; we don't end up displaying a buffer in it (which noone would - ;; notice). - '((visibility . nil) (minibuffer . only))))))) + ;; This frame may be deleted later (see server-process-filter) + ;; so we want it to be as unobtrusive as possible. + '((visibility . nil))))))) (defun server-unquote-arg (arg) (replace-regexp-in-string @@ -383,8 +379,14 @@ PROC is the server process. Format of STRING is \"PATH PATH PATH... \\n\"." (unless nowait (message "%s" (substitute-command-keys "When done with a buffer, type \\[server-edit]"))))) - ;; Avoid preserving the connection after the last real frame is deleted. - (if tmp-frame (delete-frame tmp-frame)))) + ;; If the temporary frame is still the selected frame, make it + ;; real. If not (which can happen if the user's customizations + ;; call pop-to-buffer etc.), delete it to avoid preserving the + ;; connection after the last real frame is deleted. + (if tmp-frame + (if (eq (selected-frame) tmp-frame) + (set-frame-parameter tmp-frame 'visibility t) + (delete-frame tmp-frame))))) ;; Save for later any partial line that remains. (when (> (length string) 0) (process-put proc 'previous-string string))) From fad82744c11a940dc4a5d4360bc7cebe9d8e30c7 Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Thu, 6 Jul 2006 23:00:15 +0000 Subject: [PATCH 004/336] Checked lispref/display.texi --- admin/FOR-RELEASE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index ac6f22471d1..4ba4204c05b 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -86,7 +86,7 @@ lispref/compile.texi "Luc Teirlinck" Chong Yidong lispref/control.texi "Luc Teirlinck" Chong Yidong lispref/customize.texi Chong Yidong "Luc Teirlinck" lispref/debugging.texi Joakim Verona Lute Kamstra -lispref/display.texi Chong Yidong +lispref/display.texi Chong Yidong Jason Rumney lispref/edebug.texi Chong Yidong "Luc Teirlinck" lispref/elisp.texi "Luc Teirlinck" Lute Kamstra lispref/errors.texi "Luc Teirlinck" Chong Yidong From 40a555f70f144eedf511a29d26b643bcc8dd9a44 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Fri, 7 Jul 2006 06:31:30 +0000 Subject: [PATCH 005/336] (org-agenda-get-todos): Skip subtree also if entry is skipped because it has been scheduled. (org-prepare-agenda-buffers): Don't mark buffers as modified when changing `:org-archived' and `:org-comment' properties. --- lisp/textmodes/org.el | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el index 79d526cbe76..4cda0d6b3a0 100644 --- a/lisp/textmodes/org.el +++ b/lisp/textmodes/org.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ -;; Version: 4.42 +;; Version: 4.43 ;; ;; This file is part of GNU Emacs. ;; @@ -90,6 +90,9 @@ ;; ;; Recent changes ;; -------------- +;; Version 4.43 +;; - Big fixes +;; ;; Version 4.42 ;; - Bug fixes ;; - `s' key in the agenda saves all org-mode buffers. @@ -209,7 +212,7 @@ ;;; Customization variables -(defvar org-version "4.42" +(defvar org-version "4.43" "The version number of the file org.el.") (defun org-version () (interactive) @@ -4700,12 +4703,13 @@ the children that do not contain any open TODO items." (pc '(:org-comment t)) (pall '(:org-archived t :org-comment t)) (rea (concat ":" org-archive-tag ":")) - file re) + bmp file re) (save-excursion (while (setq file (pop files)) (org-check-agenda-file file) (set-buffer (org-get-agenda-file-buffer file)) (widen) + (setq bmp (buffer-modified-p)) (save-excursion (remove-text-properties (point-min) (point-max) pall) (when org-agenda-skip-archived-trees @@ -4717,7 +4721,8 @@ the children that do not contain any open TODO items." (setq re (concat "^\\*+ +" org-comment-string "\\>")) (while (re-search-forward re nil t) (add-text-properties - (match-beginning 0) (org-end-of-subtree t) pc))))))) + (match-beginning 0) (org-end-of-subtree t) pc))) + (set-buffer-modified-p bmp))))) (defun org-agenda-skip () "Throw to `:skip' in places that should be skipped." @@ -7432,9 +7437,11 @@ the documentation of `org-diary'." (goto-char (point-min)) (while (re-search-forward regexp nil t) (catch :skip - (and org-agenda-todo-ignore-scheduled - (looking-at sched-re) - (throw :skip nil)) + (when (and org-agenda-todo-ignore-scheduled + (looking-at sched-re)) + ;; FIXME: the following test also happens below, but we need it here + (or org-agenda-todo-list-sublevels (org-end-of-subtree 'invisible)) + (throw :skip nil)) (org-agenda-skip) (goto-char (match-beginning 1)) (setq marker (org-agenda-new-marker (1+ (match-beginning 0))) @@ -8696,7 +8703,7 @@ With prefix ARG, realign all tags in headings in the current buffer." nil nil current 'org-tags-history)))) (while (string-match "[-+&]+" tags) (setq tags (replace-match ":" t t tags)))) - + (unless (setq empty (string-match "\\`[\t ]*\\'" tags)) (unless (string-match ":$" tags) (setq tags (concat tags ":"))) (unless (string-match "^:" tags) (setq tags (concat ":" tags)))) From 77ef352e078079ade3dc47feefda1682bf52603c Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Fri, 7 Jul 2006 06:32:09 +0000 Subject: [PATCH 006/336] (Exporting): Document `C-c C-e' as the prefix for exporting commands. (Global TODO list): Document the use of the variables `org-agenda-todo-ignore-scheduled' and `org-agenda-todo-list-sublevels'. --- man/org.texi | 102 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 64 insertions(+), 38 deletions(-) diff --git a/man/org.texi b/man/org.texi index aa66e357980..054c2b28053 100644 --- a/man/org.texi +++ b/man/org.texi @@ -3,7 +3,7 @@ @setfilename ../info/org @settitle Org Mode Manual -@set VERSION 4.42 +@set VERSION 4.43 @set DATE July 2006 @dircategory Emacs @@ -771,14 +771,14 @@ a sparse tree matching the string @samp{FIXME}. Other commands use sparse trees as well. For example @kbd{C-c C-v} creates a sparse TODO tree (@pxref{TODO basics}). -@kindex C-c C-x v +@kindex C-c C-e v @cindex printing sparse trees @cindex visible text, printing To print a sparse tree, you can use the Emacs command @code{ps-print-buffer-with-faces} which does not print invisible parts of the document @footnote{This does not work under XEmacs, because XEmacs uses selective display for outlining, not text properties.}. -Or you can use the command @kbd{C-c C-x v} to export only the visible +Or you can use the command @kbd{C-c C-e v} to export only the visible part of the document and print the resulting file. @@ -3059,6 +3059,23 @@ Remote editing of TODO items means that you can change the state of a TODO entry with a single key press. The commands available in the TODO list are described in @ref{Agenda commands}. +Nomally the global todo list simply shows all headlines with TODO +keywords. This list can become very long. There are two ways to keep +it more compact: +@itemize @minus +@item +Some people view a TODO item that has been @emph{scheduled} for +execution (@pxref{Time stamps}) as no longer @emph{open}. Configure the +variable @code{org-agenda-todo-ignore-scheduled} to exclude scheduled +items from the global TODO list. +@item +TODO items may have sublevels to break up the task into subtasks. In +such cases it may be enough to list only the highest level TODO headline +and omit the sublevels from the global list. Configure the variable +@code{org-agenda-todo-list-sublevels} to get this behavior. +@end itemize + + @node Matching headline tags, Timeline, Global TODO list, Agenda views @section Matching headline tags @cindex matching, of tags @@ -3341,6 +3358,7 @@ calendars. @item H Show holidays for three month around the cursor date. +@c FIXME: This should be a different key. @kindex C-c C-x C-c @item C-c C-x C-c Export a single iCalendar file containing entries from all agenda files. @@ -3575,6 +3593,14 @@ import of these different formats. When exporting, Org-mode uses special conventions to enrich the output produced. @xref{Text interpretation}, for more details. +@table @kbd +@kindex C-c C-e +@item C-c C-e +Dispatcher for export and publishing commands. Displays a help-window +listing the additional key(s) needed to launch an export or publishing +command. +@end table + @menu * ASCII export:: Exporting to plain ASCII * HTML export:: Exporting to HTML @@ -3594,14 +3620,14 @@ file. @cindex active region @cindex transient-mark-mode @table @kbd -@kindex C-c C-x a -@item C-c C-x a +@kindex C-c C-e a +@item C-c C-e a Export as ASCII file. If there is an active region, only the region will be exported. For an org file @file{myfile.org}, the ASCII file will be @file{myfile.txt}. The file will be overwritten without warning. -@kindex C-c C-x v a -@item C-c C-x v a +@kindex C-c C-e v a +@item C-c C-e v a Export only the visible part of the document. @end table @@ -3612,7 +3638,7 @@ will be exported as itemized lists. If you want that transition to occur at a different level, specify it with a prefix argument. For example, @example -@kbd{C-1 C-c C-x a} +@kbd{C-1 C-c C-e a} @end example @noindent @@ -3636,16 +3662,16 @@ language, but with additional support for tables. @cindex active region @cindex transient-mark-mode @table @kbd -@kindex C-c C-x h -@item C-c C-x h +@kindex C-c C-e h +@item C-c C-e h Export as HTML file @file{myfile.html}. -@kindex C-c C-x b -@item C-c C-x b +@kindex C-c C-e b +@item C-c C-e b Export as HTML file and open it with a browser. -@kindex C-c C-x v h -@kindex C-c C-x v b -@item C-c C-x v h -@item C-c C-x v b +@kindex C-c C-e v h +@kindex C-c C-e v b +@item C-c C-e v h +@item C-c C-e v b Export only the visible part of the document. @end table @@ -3656,7 +3682,7 @@ will be exported as itemized lists. If you want that transition to occur at a different level, specify it with a prefix argument. For example, @example -@kbd{C-2 C-c C-x b} +@kbd{C-2 C-c C-e b} @end example @noindent @@ -3725,11 +3751,11 @@ Currently, this exporter only handles the general outline structure and does not interpret any additional Org-mode features. @table @kbd -@kindex C-c C-x C-x -@item C-c C-x C-x +@kindex C-c C-e x +@item C-c C-e x Export as XOXO file @file{myfile.html}. -@kindex C-c C-x v -@item C-c C-x v x +@kindex C-c C-e v +@item C-c C-e v x Export only the visible part of the document. @end table @@ -3745,17 +3771,17 @@ application. Org-mode can export calendar information in the standard iCalendar format. @table @kbd -@kindex C-c C-x i -@item C-c C-x i +@kindex C-c C-e i +@item C-c C-e i Create iCalendar entries for the current file and store them in the same directory, using a file extension @file{.ics}. -@kindex C-c C-x C-i -@item C-c C-x C-i -Like @kbd{C-c C-x i}, but do this for all files in +@kindex C-c C-e I +@item C-c C-e I +Like @kbd{C-c C-e i}, but do this for all files in @code{org-agenda-files}. For each of these files, a separate iCalendar file will be written. -@kindex C-c C-x c -@item C-c C-x c +@kindex C-c C-e c +@item C-c C-e c Create a single large iCalendar file from all files in @code{org-agenda-files} and write it to the file given by @code{org-combined-agenda-icalendar-file}. @@ -3764,7 +3790,7 @@ Create a single large iCalendar file from all files in How this calendar is best read and updated, depends on the application you are using. For example, when using iCal under Apple MacOS X, you could create a new calendar @samp{OrgMode} (the default name for the -calendar created by @kbd{C-c C-x c}, see the variables +calendar created by @kbd{C-c C-e c}, see the variables @code{org-icalendar-combined-name} and @code{org-combined-agenda-icalendar-file}). Then set Org-mode to overwrite the corresponding file @@ -3881,13 +3907,13 @@ buffer. The exporter recognizes special lines in the buffer which provide additional information. These lines may be put anywhere in the file. The whole set of lines can be inserted into the buffer with @kbd{C-c -C-x t}. For individual lines, a good way to make sure the keyword is +C-e t}. For individual lines, a good way to make sure the keyword is correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion (@pxref{Completion}). @table @kbd -@kindex C-c C-x t -@item C-c C-x t +@kindex C-c C-e t +@item C-c C-e t Insert template with export options, see example below. @end table @@ -4251,18 +4277,18 @@ following functions: @table @kbd @item C-c C-e c -Prompts for a specific project to publish. +Prompt for a specific project and publish all files that belong to it. @item C-c C-e p -Publishes the project the current file is part of. +Publish the project containin the current file. @item C-c C-e f -Publishes only the current file. +Publish only the current file. @item C-c C-e a Publish all projects. @end table Org uses timestamps to track when a file has changed. The above functions normally only publish changed files. You can override this and -force publishing of all files by giving a prefix argument. +force publishing of all files by giving a prefix argument. @node Miscellaneous, Extensions and Hacking, Publishing, Top @chapter Miscellaneous @@ -4770,7 +4796,7 @@ blogs. @url{http://www.cognition.ens.fr/~guerry/org-blogging.html}. @section Dynamic blocks Org-mode documents can contain @emph{dynamic blocks}. These are -specially marked regions that are updates by some user-written +specially marked regions that are updated by some user-written function. A good example for such a block is the clock table inserted by the command @kbd{C-c C-x C-r} (@pxref{Clocking work time}). @@ -4814,7 +4840,7 @@ run: The corresponding block writer function could look like this: @lisp -(defun org-dblock-write:date-and-time (params) +(defun org-dblock-write:block-update-time (params) (let ((fmt (or (plist-get params :format) "%d. %m. %Y"))) (insert "Last block update at: " (format-time-string fmt (current-time))))) From c725107664f81eb2c70bc5e2ca87f31385c1cfef Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Fri, 7 Jul 2006 06:33:03 +0000 Subject: [PATCH 007/336] *** empty log message *** --- etc/ChangeLog | 4 ++++ lisp/ChangeLog | 7 +++++++ man/ChangeLog | 8 ++++++++ 3 files changed, 19 insertions(+) diff --git a/etc/ChangeLog b/etc/ChangeLog index 03441cc393f..823f82b57c5 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,7 @@ +2006-07-07 Carsten Dominik + + * orgcard.tex: Version number change. + 2006-07-05 Kenichi Handa * HELLO: Add a paragraph for non-ASCII examples at the head. Add diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9c1cbbcf949..a8532e7143c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2006-07-07 Carsten Dominik + + * textmodes/org.el (org-agenda-get-todos): Skip subtree also if + entry is skipped because it has been scheduled. + (org-prepare-agenda-buffers): Don't mark buffers as modified when + changing `:org-archived' and `:org-comment' properties. + 2006-07-06 Chong Yidong * server.el (server-select-display): Don't make the temp frame diff --git a/man/ChangeLog b/man/ChangeLog index f94414a6b37..0ce0d63db06 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,11 @@ +2006-07-07 Carsten Dominik + + * org.texi (Exporting): Document `C-c C-e' as the prefix for exporting + commands. + (Global TODO list): Document the use of the variables + `org-agenda-todo-ignore-scheduled' and + `org-agenda-todo-list-sublevels'. + 2006-07-05 Richard Stallman * faq.texi (Scrolling only one line): Fix xref. From 267154559e57f99ba0f233bff836a30049389563 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Fri, 7 Jul 2006 06:33:47 +0000 Subject: [PATCH 008/336] Version number change. --- etc/orgcard.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/etc/orgcard.tex b/etc/orgcard.tex index 40a60766188..951d0167c2e 100644 --- a/etc/orgcard.tex +++ b/etc/orgcard.tex @@ -1,5 +1,5 @@ % Reference Card for Org Mode -\def\orgversionnumber{4.42} +\def\orgversionnumber{4.43} \def\year{2006} % %**start of header @@ -639,7 +639,7 @@ \section{Agenda Views} \section{Calendar and Diary Integration} -To include entries from the Emacs diary in your Org-mode agenda: +Include Emacs diary entries into Org-mode agenda with: \beginexample% (setq org-agenda-include-diary t) \endexample From 09542a66ccb38ab9aca38fe0ff9001836f1d6120 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 7 Jul 2006 08:21:54 +0000 Subject: [PATCH 009/336] *** empty log message *** --- ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ChangeLog b/ChangeLog index a4757006af5..fff5e529389 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2006-07-07 Kim F. Storm + + * CONTRIBUTE: Mention INSTALL.CVS. + 2006-07-05 Romain Francoise * make-dist (top-level): Add CONTRIBUTE. From ccda8b925909a3f938c104bece35e3fe99e9ca82 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 7 Jul 2006 08:22:04 +0000 Subject: [PATCH 010/336] Mention INSTALL.CVS. --- CONTRIBUTE | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTE b/CONTRIBUTE index 9c36bd23453..6d30fc14baa 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE @@ -54,7 +54,10 @@ o Getting the Source Code Arch from the Savannah web site. It is important to write your patch based this version; if you start from an older version, your patch may be outdated when you write it. - + + After you have downloaded the source, you should read the file + INSTALL.CVS for further instructions. + Ref: http://savannah.gnu.org/projects/emacs @@ -97,13 +100,13 @@ o Please reread your patch before submitting it. o If you send several unrelated changes together, we will ask you to separate them so we can consider each of the changes by itself. - + o Supplemental information for Emacs Developers: Once you become a frequent contributor to Emacs, we can consider giving you write access to the CVS repository. - + Discussion about Emacs development takes place on emacs-devel@gnu.org. From efaed3b023ba8705fffd81c49284b8f2610f7953 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 7 Jul 2006 10:38:10 +0000 Subject: [PATCH 011/336] *** empty log message *** --- src/ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index d91bee1cb1c..cf3336154e1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2006-07-07 Kim F. Storm + + * fringe.c (Fdefine_fringe_bitmap): Doc fix. + 2006-07-05 Chong Yidong * insdel.c (prepare_to_modify_buffer): For an indirect buffer, do From 2faacff7d9e783cea70015e36651b1c34ab82c8d Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 7 Jul 2006 10:38:26 +0000 Subject: [PATCH 012/336] (Fdefine_fringe_bitmap): Doc fix. --- src/fringe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fringe.c b/src/fringe.c index 48fb11810ed..a94f203c944 100644 --- a/src/fringe.c +++ b/src/fringe.c @@ -1398,7 +1398,7 @@ init_fringe_bitmap (which, fb, once_p) DEFUN ("define-fringe-bitmap", Fdefine_fringe_bitmap, Sdefine_fringe_bitmap, 2, 5, 0, doc: /* Define fringe bitmap BITMAP from BITS of size HEIGHT x WIDTH. -BITMAP is a symbol or string naming the new fringe bitmap. +BITMAP is a symbol identifying the new fringe bitmap. BITS is either a string or a vector of integers. HEIGHT is height of bitmap. If HEIGHT is nil, use length of BITS. WIDTH must be an integer between 1 and 16, or nil which defaults to 8. From 014a250c243bfcfb6a1900ea0f1b93a2624a069a Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 7 Jul 2006 11:20:50 +0000 Subject: [PATCH 013/336] Slight formatting changes and typo fixes. Add description of NEWS markings. --- CONTRIBUTE | 62 ++++++++++++++++++++++++++++++++---------------------- ChangeLog | 5 +++++ 2 files changed, 42 insertions(+), 25 deletions(-) diff --git a/CONTRIBUTE b/CONTRIBUTE index 6d30fc14baa..8b69ccd0983 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE @@ -34,13 +34,13 @@ o Coding Standards Emacs has certain additional style and coding conventions. Ref: http://www.gnu.org/prep/standards_toc.html - Ref: Standards Info Manual + Ref: GNU Coding Standards Info Manual o Copyright Assignment We can accept small changes without legal papers, and for - medium-size changes a copyright disclaimer is ok too. Toa + medium-size changes a copyright disclaimer is ok too. To accept substantial contributions from you, we need a copyright assignment form filled out and filed with the FSF. @@ -52,11 +52,13 @@ o Getting the Source Code The latest version of Emacs can be downloaded using CVS or Arch from the Savannah web site. It is important to write - your patch based this version; if you start from an older - version, your patch may be outdated when you write it. + your patch based on this version; if you start from an older + version, your patch may be outdated when you write it, and + maintainers will have hard time applying it. - After you have downloaded the source, you should read the file - INSTALL.CVS for further instructions. + After you have downloaded the CVS source, you should read the + file INSTALL.CVS for build instructions (they differ to some + extent from a normal build). Ref: http://savannah.gnu.org/projects/emacs @@ -66,27 +68,28 @@ o Submitting Patches Every patch must have several pieces of information before we can properly evaluate it. - For bug fixes, a description of the bug and how your patch fixes - this bug. + * For bug fixes, a description of the bug and how your patch + fixes this bug. - For new features, a description of the feature and your - implementation. + * For new features, a description of the feature and your + implementation. - A ChangeLog entry as plaintext (separate from the patch); see - the various ChangeLog files for format and content. Note that, - unlike some other projects, we do require ChangeLogs also for - documentation i.e. texinfo files. + * A ChangeLog entry as plaintext (separate from the patch); + see the various ChangeLog files for format and content. Note + that, unlike some other projects, we do require ChangeLogs + also for documentation, i.e. Texinfo files. - Ref: Change Log Concepts node of the Standards Info Manual + Ref: "Change Log Concepts" node of the GNU Coding Standards + Info Manual, for how to write good log entries. - The patch itself. If you are accessing the CVS repository use - "cvs update; cvs diff -cp"; else, use "diff -cp OLD NEW". If - your version of diff does not support these options, then get - the latest version of GNU diff. + * The patch itself. If you are accessing the CVS repository + use "cvs update; cvs diff -cp"; else, use "diff -cp OLD NEW". + If your version of diff does not support these options, then + get the latest version of GNU Diff. - We accept patches as plain text (preferred for the compilers - themselves), MIME attachments (preferred for the web pages), or - as uuencoded gzipped text. + * We accept the patches as plain text (preferred for the + compilers themselves), MIME attachments (preferred for the + web pages), or as uuencoded gzipped text. When you have all these pieces, bundle them up in a mail message and send it to emacs-pretest-bug@gnu.org or emacs-devel@gnu.org. @@ -114,11 +117,20 @@ o Supplemental information for Emacs Developers: documentation. If it does, you can either do this yourself or add an item to the NEWS file. - The best way to understand Emacs Internals is to read the code - but the nodes "Tips" and "GNU Emacs Internals" in the Appendix + If you document your change in NEWS, please mark the NEWS + entry with the documentation status of the change: if you + submit the changes for the manuals, mark it with "+++"; if it + doesn't need to be documented, mark it with "---"; if it needs + to be documented, but you didn't submit documentation changes, + leave the NEWS entry unmarked. (These marks are checked by + the Emacs maintainers to make sure every change was reflected + in the manuals.) + + The best way to understand Emacs Internals is to read the code, + but the nodes "Tips" and "GNU Emacs Internals" in the Appendix of the Emacs Lisp Reference Manual may also help. - The file DEBUG describes how to debug Emacs bugs. + The file etc/DEBUG describes how to debug Emacs bugs. Avoid using `defadvice' or `eval-after-load' for Lisp code to be included in Emacs. diff --git a/ChangeLog b/ChangeLog index fff5e529389..36118339ad8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-07-07 Eli Zaretskii + + * CONTRIBUTE: Slight formatting changes and typo fixes. Add + description of NEWS markings. + 2006-07-07 Kim F. Storm * CONTRIBUTE: Mention INSTALL.CVS. From 7f08703068e32812f06369c8070b90cb6b3de8ba Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 7 Jul 2006 13:31:09 +0000 Subject: [PATCH 014/336] *** empty log message *** --- lispref/ChangeLog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 64be9d67e11..b652d95e7ae 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,9 @@ +2006-07-07 Kim F. Storm + + * display.texi (Fringe Cursors): Fix typo. + (Customizing Bitmaps): Fix define-fringe-bitmap entry. + (Overlay Arrow): Default is overlay-arrow fringe indicator. + 2006-07-05 Richard Stallman * text.texi (Buffer Contents): Add example of text props From 1daf0ddeff2053d4e530c4bbf827ed40800dcaa6 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 7 Jul 2006 13:31:23 +0000 Subject: [PATCH 015/336] (Fringe Cursors): Fix typo. (Customizing Bitmaps): Fix define-fringe-bitmap entry. (Overlay Arrow): Default is overlay-arrow fringe indicator. --- lispref/display.texi | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/lispref/display.texi b/lispref/display.texi index 9398e0b95fc..b99a6f4f553 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -2946,7 +2946,7 @@ fringe. @defvar fringe-cursor-alist This variable specifies the mapping from logical cursor type to the actual fringe bitmaps displayed in the right fringe. The value is an -alist where each element @code{(@var{cursor}. @var{bitmap})} specifies +alist where each element @code{(@var{cursor} . @var{bitmap})} specifies the fringe bitmaps used to display a specific logical cursor type in the fringe. Here, @var{cursor} specifies the logical cursor type and @var{bitmap} is a symbol specifying the fringe bitmap to be displayed @@ -3035,12 +3035,6 @@ The @var{align} argument may also be a list @code{(@var{align} If @var{periodic} is non-@code{nil}, it specifies that the rows in @code{bits} should be repeated enough times to reach the specified height. - -The return value on success is an integer identifying the new bitmap. -You should save that integer in a variable so it can be used to select -this bitmap. - -This function signals an error if there are no more free bitmap slots. @end defun @defun destroy-fringe-bitmap bitmap @@ -3114,8 +3108,8 @@ Each variable on this list can have properties specify an overlay arrow string (for text-only terminals) or fringe bitmap (for graphical terminals) to display at the corresponding overlay arrow position. If either property is not set, the default -(@code{overlay-arrow-string} or @code{overlay-arrow-fringe-bitmap}) is -used. +@code{overlay-arrow-string} or @code{overlay-arrow} fringe indicator +is used. @node Scroll Bars @section Scroll Bars From 898cfc1d8a8ac22ccc7727d61b6cbb1cfb8c89b6 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 14:34:02 +0000 Subject: [PATCH 016/336] (shell-mode): Only change the buffer-local value of comint-dynamic-complete-functions. --- lisp/shell.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/shell.el b/lisp/shell.el index 6b22ac79238..6a145ae1569 100644 --- a/lisp/shell.el +++ b/lisp/shell.el @@ -423,7 +423,8 @@ buffer." (setq comint-delimiter-argument-list shell-delimiter-argument-list) (setq comint-file-name-chars shell-file-name-chars) (setq comint-file-name-quote-list shell-file-name-quote-list) - (setq comint-dynamic-complete-functions shell-dynamic-complete-functions) + (set (make-local-variable 'comint-dynamic-complete-functions) + shell-dynamic-complete-functions) (set (make-local-variable 'paragraph-separate) "\\'") (make-local-variable 'paragraph-start) (setq paragraph-start comint-prompt-regexp) From e2536e57f9dbb227eb198a678fe0052cded82952 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 14:40:35 +0000 Subject: [PATCH 017/336] Remove spurious * in docstrings. (inferior-octave-mode): Only change the buffer-local value of comint-dynamic-complete-functions. (inferior-octave-mode-map, inferior-octave-mode-syntax-table): Move the initialization to the declaration. (inferior-octave-complete): Remove unused var `filter'. --- lisp/ChangeLog | 12 +++++++++++ lisp/progmodes/octave-inf.el | 40 ++++++++++++++++-------------------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a8532e7143c..47871e2daaa 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,15 @@ +2006-07-07 Stefan Monnier + + * progmodes/octave-inf.el: Remove spurious * in docstrings. + (inferior-octave-mode): Only change the buffer-local value of + comint-dynamic-complete-functions. + (inferior-octave-mode-map, inferior-octave-mode-syntax-table): + Move the initialization to the declaration. + (inferior-octave-complete): Remove unused var `filter'. + + * shell.el (shell-mode): Only change the buffer-local value of + comint-dynamic-complete-functions. + 2006-07-07 Carsten Dominik * textmodes/org.el (org-agenda-get-todos): Skip subtree also if diff --git a/lisp/progmodes/octave-inf.el b/lisp/progmodes/octave-inf.el index b6e6e4fc456..863f972086e 100644 --- a/lisp/progmodes/octave-inf.el +++ b/lisp/progmodes/octave-inf.el @@ -37,18 +37,18 @@ :group 'octave) (defcustom inferior-octave-program "octave" - "*Program invoked by `inferior-octave'." + "Program invoked by `inferior-octave'." :type 'string :group 'octave-inferior) (defcustom inferior-octave-prompt "\\(^octave\\(\\|.bin\\)\\(-[.0-9]+\\)?\\(:[0-9]+\\)?\\|^debug\\|^\\)>+ " - "*Regexp to match prompts for the inferior Octave process." + "Regexp to match prompts for the inferior Octave process." :type 'regexp :group 'octave-inferior) (defcustom inferior-octave-startup-file nil - "*Name of the inferior Octave startup file. + "Name of the inferior Octave startup file. The contents of this file are sent to the inferior Octave process on startup." :type '(choice (const :tag "None" nil) @@ -56,34 +56,31 @@ startup." :group 'octave-inferior) (defcustom inferior-octave-startup-args nil - "*List of command line arguments for the inferior Octave process. + "List of command line arguments for the inferior Octave process. For example, for suppressing the startup message and using `traditional' mode, set this to (\"-q\" \"--traditional\")." :type '(repeat string) :group 'octave-inferior) -(defvar inferior-octave-mode-map nil - "Keymap used in Inferior Octave mode.") -(if inferior-octave-mode-map - () - (let ((map (copy-keymap comint-mode-map))) +(defvar inferior-octave-mode-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map comint-mode-map) (define-key map "\t" 'comint-dynamic-complete) (define-key map "\M-?" 'comint-dynamic-list-filename-completions) (define-key map "\C-c\C-l" 'inferior-octave-dynamic-list-input-ring) (define-key map [menu-bar inout list-history] '("List Input History" . inferior-octave-dynamic-list-input-ring)) (define-key map "\C-c\C-h" 'octave-help) - (setq inferior-octave-mode-map map))) + map) + "Keymap used in Inferior Octave mode.") -(defvar inferior-octave-mode-syntax-table nil - "Syntax table in use in inferior-octave-mode buffers.") -(if inferior-octave-mode-syntax-table - () +(defvar inferior-octave-mode-syntax-table (let ((table (make-syntax-table))) (modify-syntax-entry ?\` "w" table) (modify-syntax-entry ?\# "<" table) (modify-syntax-entry ?\n ">" table) - (setq inferior-octave-mode-syntax-table table))) + table) + "Syntax table in use in inferior-octave-mode buffers.") (defcustom inferior-octave-mode-hook nil "*Hook to be run when Inferior Octave mode is started." @@ -154,9 +151,9 @@ Entry to this mode successively runs the hooks `comint-mode-hook' and (setq comint-input-ring-file-name (or (getenv "OCTAVE_HISTFILE") "~/.octave_hist") comint-input-ring-size (or (getenv "OCTAVE_HISTSIZE") 1024) - comint-input-filter-functions '(inferior-octave-directory-tracker) - comint-dynamic-complete-functions - inferior-octave-dynamic-complete-functions) + comint-input-filter-functions '(inferior-octave-directory-tracker)) + (set (make-local-variable 'comint-dynamic-complete-functions) + inferior-octave-dynamic-complete-functions) (comint-read-input-ring t) (run-mode-hooks 'inferior-octave-mode-hook)) @@ -272,8 +269,7 @@ is NOT available with versions of Octave prior to 2.0." (save-excursion (skip-syntax-backward "w_" (comint-line-beginning-position)) (buffer-substring-no-properties (point) end))) - (proc (get-buffer-process inferior-octave-buffer)) - (filter (process-filter proc))) + (proc (get-buffer-process inferior-octave-buffer))) (cond (inferior-octave-complete-impossible (error (concat "Your Octave does not have `completion_matches'. " @@ -299,7 +295,7 @@ is NOT available with versions of Octave prior to 2.0." command inferior-octave-output-list))))) (defun inferior-octave-dynamic-list-input-ring () - "List the buffer's input history in a help buffer" + "List the buffer's input history in a help buffer." ;; We cannot use `comint-dynamic-list-input-ring', because it replaces ;; "completion" by "history reference" ... (interactive) @@ -394,5 +390,5 @@ directory and makes this the current buffer's default directory." (provide 'octave-inf) -;;; arch-tag: bdce0395-24d1-4bb4-bfba-6fb1eeb1a660 +;; arch-tag: bdce0395-24d1-4bb4-bfba-6fb1eeb1a660 ;;; octave-inf.el ends here From df8a0bfffe82af9cdec7a2fcd233ca92f3da63d2 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 15:14:47 +0000 Subject: [PATCH 018/336] (dirtrack-default-directory-function): Remove. (dirtrack-directory-function): Use file-name-as-directory. (dirtrack-windows-directory-function): Simplify. (dirtrack-forward-slash, dirtrack-backward-slash) (dirtrack-replace-slash): Remove. (dirtrack-toggle): Adjust comint-preoutput-filter-functions as well. (dirtrack): Fix wrong parenthesizing; use match-string. --- lisp/ChangeLog | 8 ++ lisp/dirtrack.el | 198 ++++++++++++++++++----------------------------- 2 files changed, 84 insertions(+), 122 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 47871e2daaa..790b98543b9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,13 @@ 2006-07-07 Stefan Monnier + * dirtrack.el (dirtrack-default-directory-function): Remove. + (dirtrack-directory-function): Use file-name-as-directory. + (dirtrack-windows-directory-function): Simplify. + (dirtrack-forward-slash, dirtrack-backward-slash) + (dirtrack-replace-slash): Remove. + (dirtrack-toggle): Adjust comint-preoutput-filter-functions as well. + (dirtrack): Fix wrong parenthesizing; use match-string. + * progmodes/octave-inf.el: Remove spurious * in docstrings. (inferior-octave-mode): Only change the buffer-local value of comint-dynamic-complete-functions. diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el index 30ef3570ad2..0744cc52964 100644 --- a/lisp/dirtrack.el +++ b/lisp/dirtrack.el @@ -29,12 +29,12 @@ ;; Shell directory tracking by watching the prompt. ;; ;; This is yet another attempt at a directory-tracking package for -;; Emacs shell-mode. However, this package makes one strong assumption: +;; Emacs shell-mode. However, this package makes one strong assumption: ;; that you can customize your shell's prompt to contain the -;; current working directory. Most shells do support this, including +;; current working directory. Most shells do support this, including ;; almost every type of Bourne and C shell on Unix, the native shells on ;; Windows95 (COMMAND.COM) and Windows NT (CMD.EXE), and most 3rd party -;; Windows shells. If you cannot do this, or do not wish to, this package +;; Windows shells. If you cannot do this, or do not wish to, this package ;; will be useless to you. ;; ;; Installation: @@ -45,30 +45,27 @@ ;; ;; Note that directory tracking is done by matching regular expressions, ;; therefore it is *VERY IMPORTANT* for your prompt to be easily -;; distinguishable from other output. If your prompt regexp is too general, +;; distinguishable from other output. If your prompt regexp is too general, ;; you will see error messages from the dirtrack filter as it attempts to cd ;; to non-existent directories. ;; -;; 2) Set the variable `dirtrack-list' to an appropriate value. This +;; 2) Set the variable `dirtrack-list' to an appropriate value. This ;; should be a list of two elements: the first is a regular expression ;; which matches your prompt up to and including the pathname part. ;; The second is a number which tells which regular expression group to -;; match to extract only the pathname. If you use a multi-line prompt, -;; add 't' as a third element. Note that some of the functions in +;; match to extract only the pathname. If you use a multi-line prompt, +;; add 't' as a third element. Note that some of the functions in ;; 'comint.el' assume a single-line prompt (eg, comint-bol). ;; -;; Determining this information may take some experimentation. Setting +;; Determining this information may take some experimentation. Setting ;; the variable `dirtrack-debug' may help; it causes the directory-tracking -;; filter to log messages to the buffer `dirtrack-debug-buffer'. You can easily +;; filter to log messages to the buffer `dirtrack-debug-buffer'. You can easily ;; toggle this setting with the `dirtrack-debug-toggle' function. ;; ;; 3) Add a hook to shell-mode to enable the directory tracking: ;; ;; (add-hook 'shell-mode-hook -;; (function (lambda () -;; (setq comint-preoutput-filter-functions -;; (append (list 'dirtrack) -;; comint-preoutput-filter-functions))))) +;; (lambda () (add-hook 'comint-preoutput-filter-functions 'dirtrack nil t))) ;; ;; You may wish to turn ordinary shell tracking off by calling ;; `shell-dirtrack-toggle' or setting `shell-dirtrackp'. @@ -107,13 +104,13 @@ ;; (eg, when logged in as myself, I'll run a root shell in the same Emacs). ;; If you do this, and the shell prompt contains a ~, Emacs will interpret ;; this relative to the user which owns the Emacs process, not the user -;; who owns the shell buffer. This may cause dirtrack to behave strangely +;; who owns the shell buffer. This may cause dirtrack to behave strangely ;; (typically it reports that it is unable to cd to a directory ;; with a ~ in it). ;; ;; The same behavior can occur if you use dirtrack with remote filesystems ;; (using telnet, rlogin, etc) as Emacs will be checking the local -;; filesystem, not the remote one. This problem is not specific to dirtrack, +;; filesystem, not the remote one. This problem is not specific to dirtrack, ;; but also affects file completion, etc. ;;; Code: @@ -132,7 +129,7 @@ :group 'shell) (defcustom dirtrack-list (list "^emacs \\([a-zA-Z]:.*\\)>" 1) - "*List for directory tracking. + "List for directory tracking. First item is a regexp that describes where to find the path in a prompt. Second is a number, the regexp group to match. Optional third item is whether the prompt is multi-line. If nil or omitted, prompt is assumed to @@ -140,77 +137,58 @@ be on a single line." :group 'dirtrack :type '(sexp (regexp :tag "Prompt Expression") (integer :tag "Regexp Group") - (boolean :tag "Multiline Prompt") - ) - ) + (boolean :tag "Multiline Prompt"))) (make-variable-buffer-local 'dirtrack-list) (defcustom dirtrack-debug nil - "*If non-nil, the function `dirtrack' will report debugging info." + "If non-nil, the function `dirtrack' will report debugging info." :group 'dirtrack - :type 'boolean - ) + :type 'boolean) (defcustom dirtrack-debug-buffer "*Directory Tracking Log*" "Buffer to write directory tracking debug information." :group 'dirtrack - :type 'string - ) + :type 'string) (defcustom dirtrackp t - "*If non-nil, directory tracking via `dirtrack' is enabled." + "If non-nil, directory tracking via `dirtrack' is enabled." :group 'dirtrack - :type 'boolean - ) + :type 'boolean) (make-variable-buffer-local 'dirtrackp) (defcustom dirtrack-directory-function (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin)) 'dirtrack-windows-directory-function - 'dirtrack-default-directory-function) - "*Function to apply to the prompt directory for comparison purposes." + 'file-name-as-directory) + "Function to apply to the prompt directory for comparison purposes." :group 'dirtrack - :type 'function - ) + :type 'function) (defcustom dirtrack-canonicalize-function (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin)) 'downcase 'identity) - "*Function to apply to the default directory for comparison purposes." + "Function to apply to the default directory for comparison purposes." :group 'dirtrack - :type 'function - ) + :type 'function) (defcustom dirtrack-directory-change-hook nil "Hook that is called when a directory change is made." :group 'dirtrack - :type 'hook - ) + :type 'hook) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defun dirtrack-default-directory-function (dir) - "Return a canonical directory for comparison purposes. -Such a directory ends with a forward slash." - (let ((directory dir)) - (if (not (char-equal ?/ (string-to-char (substring directory -1)))) - (concat directory "/") - directory))) (defun dirtrack-windows-directory-function (dir) "Return a canonical directory for comparison purposes. Such a directory is all lowercase, has forward-slashes as delimiters, and ends with a forward slash." - (let ((directory dir)) - (setq directory (downcase (dirtrack-replace-slash directory t))) - (if (not (char-equal ?/ (string-to-char (substring directory -1)))) - (concat directory "/") - directory))) + (file-name-as-directory (downcase (subst-char-in-string ?\\ ?/ dir)))) (defun dirtrack-cygwin-directory-function (dir) "Return a canonical directory taken from a Cygwin path for comparison purposes." @@ -218,30 +196,13 @@ and ends with a forward slash." (concat (match-string 1 dir) ":" (match-string 2 dir)) dir)) -(defconst dirtrack-forward-slash (regexp-quote "/")) -(defconst dirtrack-backward-slash (regexp-quote "\\")) - -(defun dirtrack-replace-slash (string &optional opposite) - "Replace forward slashes with backwards ones. -If additional argument is non-nil, replace backwards slashes with -forward ones." - (let ((orig (if opposite - dirtrack-backward-slash - dirtrack-forward-slash)) - (replace (if opposite - dirtrack-forward-slash - dirtrack-backward-slash)) - (newstring string) - ) - (while (string-match orig newstring) - (setq newstring (replace-match replace nil t newstring))) - newstring)) - ;; Copied from shell.el (defun dirtrack-toggle () "Enable or disable Dirtrack directory tracking in a shell buffer." (interactive) - (setq dirtrackp (not dirtrackp)) + (if (setq dirtrackp (not dirtrackp)) + (add-hook 'comint-preoutput-filter-functions 'dirtrack nil t) + (remove-hook 'comint-preoutput-filter-functions 'dirtrack t)) (message "Directory tracking %s" (if dirtrackp "ON" "OFF"))) (defun dirtrack-debug-toggle () @@ -273,67 +234,60 @@ If directory tracking does not seem to be working, you can use the function `dirtrack-debug-toggle' to turn on debugging output. You can enable directory tracking by adding this function to -`comint-output-filter-functions'. -" - (if (null dirtrackp) +`comint-output-filter-functions'." + (if (or (null dirtrackp) + ;; No output? + (eq (point) (point-min))) nil (let (prompt-path - matched (current-dir default-directory) (dirtrack-regexp (nth 0 dirtrack-list)) (match-num (nth 1 dirtrack-list)) - (multi-line (nth 2 dirtrack-list)) - ) - ;; No output? - (if (eq (point) (point-min)) - nil - (save-excursion - (setq matched (string-match dirtrack-regexp input))) - ;; No match - (if (null matched) - (and dirtrack-debug - (dirtrack-debug-message - (format - "Input `%s' failed to match regexp: %s" - input dirtrack-regexp))) - (setq prompt-path - (substring input - (match-beginning match-num) (match-end match-num))) - ;; Empty string - (if (not (> (length prompt-path) 0)) - (and dirtrack-debug - (dirtrack-debug-message "Match is empty string")) - ;; Transform prompts into canonical forms - (setq prompt-path (funcall dirtrack-directory-function - prompt-path)) - (setq current-dir (funcall dirtrack-canonicalize-function - current-dir)) - (and dirtrack-debug - (dirtrack-debug-message - (format - "Prompt is %s\nCurrent directory is %s" - prompt-path current-dir))) - ;; Compare them - (if (or (string= current-dir prompt-path) - (string= current-dir - (abbreviate-file-name prompt-path))) - (and dirtrack-debug - (dirtrack-debug-message - (format "Not changing directory"))) - ;; It's possible that Emacs will think the directory - ;; won't exist (eg, rlogin buffers) - (if (file-accessible-directory-p prompt-path) - ;; Change directory - (and (shell-process-cd prompt-path) - (run-hooks 'dirtrack-directory-change-hook) - dirtrack-debug - (dirtrack-debug-message - (format "Changing directory to %s" prompt-path))) - (error "Directory %s does not exist" prompt-path))) - ))))) + ;; Currently unimplemented, it seems. --Stef + (multi-line (nth 2 dirtrack-list))) + (save-excursion + ;; No match + (if (null (string-match dirtrack-regexp input)) + (and dirtrack-debug + (dirtrack-debug-message + (format + "Input `%s' failed to match `dirtrack-regexp'" input))) + (setq prompt-path (match-string match-num input)) + ;; Empty string + (if (not (> (length prompt-path) 0)) + (and dirtrack-debug + (dirtrack-debug-message "Match is empty string")) + ;; Transform prompts into canonical forms + (setq prompt-path (funcall dirtrack-directory-function + prompt-path)) + (setq current-dir (funcall dirtrack-canonicalize-function + current-dir)) + (and dirtrack-debug + (dirtrack-debug-message + (format + "Prompt is %s\nCurrent directory is %s" + prompt-path current-dir))) + ;; Compare them + (if (or (string= current-dir prompt-path) + (string= current-dir + (abbreviate-file-name prompt-path))) + (and dirtrack-debug + (dirtrack-debug-message + (format "Not changing directory"))) + ;; It's possible that Emacs will think the directory + ;; won't exist (eg, rlogin buffers) + (if (file-accessible-directory-p prompt-path) + ;; Change directory + (and (shell-process-cd prompt-path) + (run-hooks 'dirtrack-directory-change-hook) + dirtrack-debug + (dirtrack-debug-message + (format "Changing directory to %s" prompt-path))) + (error "Directory %s does not exist" prompt-path))) + ))))) input) (provide 'dirtrack) -;;; arch-tag: 168de071-be88-4937-aff6-2aba9f328d5a +;; arch-tag: 168de071-be88-4937-aff6-2aba9f328d5a ;;; dirtrack.el ends here From 8decc87fd425a81680a08f693cd62963e75f3636 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 15:17:35 +0000 Subject: [PATCH 019/336] (compilation-error-regexp-alist-alist) : Use shy regexp. Fix incorrect backref to potentially unmatched group. --- lisp/progmodes/compile.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 5da86972ec5..3c9d0741783 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -224,9 +224,9 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) (gnu "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\)?\ -\\([/.]*[a-zA-Z]:?[^ \t\n:]*\\|{standard input}\\): ?\ -\\([0-9]+\\)\\([.:]?\\)\\([0-9]+\\)?\ -\\(?:-\\(?:\\([0-9]+\\)\\3\\)?\\.?\\([0-9]+\\)?\\)?:\ +\\(.+?\\): ?\ +\\([0-9]+\\)\\(?:\\([.:]\\)\\([0-9]+\\)\\)?\ +\\(?:-\\([0-9]+\\)?\\(?:\\3\\([0-9]+\\)\\)?\\)?:\ \\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\ *\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\)\\)?" 1 (2 . 5) (4 . 6) (7 . 8)) From 24a768a078dd8b320ca6dd91454c3595ba46f7fb Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 15:26:26 +0000 Subject: [PATCH 020/336] *** empty log message *** --- lisp/ChangeLog | 3 +++ man/programs.texi | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 790b98543b9..1164c941619 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2006-07-07 Stefan Monnier + * progmodes/compile.el (compilation-error-regexp-alist-alist) : + Use shy regexp. Fix incorrect backref to potentially unmatched group. + * dirtrack.el (dirtrack-default-directory-function): Remove. (dirtrack-directory-function): Use file-name-as-directory. (dirtrack-windows-directory-function): Simplify. diff --git a/man/programs.texi b/man/programs.texi index 2e189bc1f13..70198ad1e99 100644 --- a/man/programs.texi +++ b/man/programs.texi @@ -949,13 +949,14 @@ comment delimiters to add or how many to delete. comments in certain contexts. For example, in Lisp code, comments which start with two semicolons are indented as if they were lines of code, instead of at the comment column. Comments which start with three -semicolons are supposed to start at the left margin. Emacs understands +semicolons are supposed to start at the left margin and are often used +for sectioning purposes. Emacs understands these conventions by indenting a double-semicolon comment using @key{TAB}, and by not changing the indentation of a triple-semicolon comment at all. @example ;; This function is just an example. -;; Here either two or three semicolons are appropriate. +;;; Here either two or three semicolons are appropriate. (defun foo (x) ;;; And now, the first part of the function: ;; The following line adds one. From e5a099ecae7eb3bbb1354a75423f074447d92e5f Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 15:39:53 +0000 Subject: [PATCH 021/336] (cvs-temp-buffer-name): Fix non-hiddenness. --- lisp/ChangeLog | 2 ++ lisp/pcvs-defs.el | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1164c941619..c0b24ae8561 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2006-07-07 Stefan Monnier + * pcvs-defs.el (cvs-temp-buffer-name): Fix non-hiddenness. + * progmodes/compile.el (compilation-error-regexp-alist-alist) : Use shy regexp. Fix incorrect backref to potentially unmatched group. diff --git a/lisp/pcvs-defs.el b/lisp/pcvs-defs.el index 127a550b28c..e2c6396bdb2 100644 --- a/lisp/pcvs-defs.el +++ b/lisp/pcvs-defs.el @@ -239,7 +239,10 @@ The CMD used for `cvs-mode-commit' is \"message\". For that special This expression will be evaluated in an environment where DIR is set to the directory name of the cvs buffer.") -(defvar cvs-temp-buffer-name '(expand-file-name " *cvs-tmp*" dir) +(defvar cvs-temp-buffer-name + ;; Was '(expand-file-name " *cvs-tmp*" dir), but that causes them to + ;; become non-hidden if uniquification is done `forward'. + " *cvs-tmp*" "*Name of the cvs temporary buffer. Output from cvs is placed here for asynchronous commands.") From dfb4bff5ef1f7fc6ffe553ff895698a84f55e517 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 7 Jul 2006 15:49:31 +0000 Subject: [PATCH 022/336] (Fexecute_extended_command): Mention the argument PREFIXARG in the doc string. --- src/ChangeLog | 5 +++++ src/keyboard.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index cf3336154e1..e1c64612ca1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2006-07-07 Eli Zaretskii + + * keyboard.c (Fexecute_extended_command): Mention the argument + PREFIXARG in the doc string. + 2006-07-07 Kim F. Storm * fringe.c (Fdefine_fringe_bitmap): Doc fix. diff --git a/src/keyboard.c b/src/keyboard.c index 30b06ef38fc..07388428451 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -9768,7 +9768,13 @@ a special event, so ignore the prefix argument and don't clear it. */) DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_command, 1, 1, "P", - doc: /* Read function name, then read its arguments and call it. */) + doc: /* Read function name, then read its arguments and call it. + +To pass a numeric argument to the command you are invoking with, specify +the numeric argument to this command. + +Noninteractively, the argument PREFIXARG is the prefix argument to +give to the command you invoke, if it asks for an argument. */) (prefixarg) Lisp_Object prefixarg; { From 4332cf50f7706567329dda631f9c6ff986f4edf5 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 16:12:51 +0000 Subject: [PATCH 023/336] (read_filtered_event): Remove `register' qualifier because it causes compilation problem with gcc-4.0.2-20051125 on amd64. --- src/ChangeLog | 5 +++++ src/lread.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index e1c64612ca1..f7c171e5d44 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2006-07-07 Stefan Monnier + + * lread.c (read_filtered_event): Remove `register' qualifier because it + causes compilation problem with gcc-4.0.2-20051125 on amd64. + 2006-07-07 Eli Zaretskii * keyboard.c (Fexecute_extended_command): Mention the argument diff --git a/src/lread.c b/src/lread.c index eb67a437a73..3cf68f6455c 100644 --- a/src/lread.c +++ b/src/lread.c @@ -459,7 +459,7 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii, input_method) int no_switch_frame, ascii_required, error_nonascii, input_method; { - register Lisp_Object val, delayed_switch_frame; + Lisp_Object val, delayed_switch_frame; #ifdef HAVE_WINDOW_SYSTEM if (display_hourglass_p) From 91fe949656b93b5c279dbca9d7b072e7a8ae4387 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 16:16:18 +0000 Subject: [PATCH 024/336] (readevalloop): Remove unused var `bpos'. Yet another int/Lisp_Object mixup. --- src/ChangeLog | 2 ++ src/lread.c | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index f7c171e5d44..4ad5cc11716 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -2,6 +2,8 @@ * lread.c (read_filtered_event): Remove `register' qualifier because it causes compilation problem with gcc-4.0.2-20051125 on amd64. + (readevalloop): Remove unused var `bpos'. + Yet another int/Lisp_Object mixup (YAILOM). 2006-07-07 Eli Zaretskii diff --git a/src/lread.c b/src/lread.c index 3cf68f6455c..1cd2015cf01 100644 --- a/src/lread.c +++ b/src/lread.c @@ -1369,7 +1369,6 @@ readevalloop (readcharfun, stream, sourcename, evalfun, int count = SPECPDL_INDEX (); struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; struct buffer *b = 0; - int bpos; int continue_reading_p; /* Nonzero if reading an entire buffer. */ int whole_buffer = 0; @@ -1402,8 +1401,8 @@ readevalloop (readcharfun, stream, sourcename, evalfun, /* Try to ensure sourcename is a truename, except whilst preloading. */ if (NILP (Vpurify_flag) - && !NILP (sourcename) && Ffile_name_absolute_p (sourcename) - && (!NILP (Ffboundp (Qfile_truename)))) + && !NILP (sourcename) && !NILP (Ffile_name_absolute_p (sourcename)) + && !NILP (Ffboundp (Qfile_truename))) sourcename = call1 (Qfile_truename, sourcename) ; LOADHIST_ATTACH (sourcename); From e0b4be6cc0e9ca0ff1e5fe8c8e3c042cccdc76e7 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 16:34:44 +0000 Subject: [PATCH 025/336] (byte-compile-form): The `byte-compile' property may contain an anonymous function rather than a symbol. --- lisp/ChangeLog | 3 +++ lisp/emacs-lisp/bytecomp.el | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c0b24ae8561..f66b3838c2a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2006-07-07 Stefan Monnier + * emacs-lisp/bytecomp.el (byte-compile-form): The `byte-compile' + property may contain an anonymous function rather than a symbol. + * pcvs-defs.el (cvs-temp-buffer-name): Fix non-hiddenness. * progmodes/compile.el (compilation-error-regexp-alist-alist) : diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index ebb2f11764a..02a88c13973 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -2791,7 +2791,7 @@ That command is designed for interactive use only" fn)) ;; `cl-byte-compile-compiler-macro' but if CL isn't ;; loaded, this function doesn't exist. (or (not (memq handler '(cl-byte-compile-compiler-macro))) - (fboundp handler)) + (functionp handler)) (not (and (byte-compile-version-cond byte-compile-compatibility) (get (get fn 'byte-opcode) 'emacs19-opcode)))) From 1a3e2c5912f4affb4d4ec10ef37a5d0473ec181e Mon Sep 17 00:00:00 2001 From: "Robert J. Chassell" Date: Fri, 7 Jul 2006 16:36:29 +0000 Subject: [PATCH 026/336] * textmodes/texinfmt.el (texinfo-format-separate-node): Insert a string before point, which fits documentation, not after. (texinfo-multitable-item): In a multitable row, insert any additional needed @tabs and spaces. --- lisp/textmodes/texinfmt.el | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el index 8794ebddc15..95c1cba3b7e 100644 --- a/lisp/textmodes/texinfmt.el +++ b/lisp/textmodes/texinfmt.el @@ -1555,7 +1555,9 @@ The node is constructed automatically." " Node: " node-name "-Footnotes, Up: " node-name "\n") (setq start (point)) (insert (format "\n(%d) %s\n" texinfo-footnote-number arg)) - (fill-region start (point)))))) + (narrow-to-region (save-excursion (goto-char start) (point)) (point)) + (fill-region (point-min) (point-max)) + (widen))))) (defun texinfo-format-end-node () "Format footnote in the End of node style, with notes at end of node." @@ -2118,11 +2120,18 @@ This command is executed when texinfmt sees @item inside @multitable." (insert unformated-row) (goto-char (point-min)) ;; 1. Check for correct number of @tab in line. - (let ((tab-number 1)) ; one @tab between two columns + (let ((tab-number 1)) ; one @tab between two columns (while (search-forward "@tab" nil t) (setq tab-number (1+ tab-number))) - (if (/= tab-number (length table-widths)) - (error "Wrong number of @tab's in a @multitable row"))) + (let ((needed-tabs (- (length table-widths) tab-number))) + (when (> needed-tabs 0) + (goto-char (point-min)) + (end-of-line) + (while (> needed-tabs 0) + (insert "@w{ }\n@tab") + (setq needed-tabs (1- needed-tabs)) + (message + "Added @tabs and empty spaces to a @multitable row"))))) (goto-char (point-min)) ;; 2. Format each cell, and copy to a rectangle ;; buffer looks like this: A1 @tab A2 @tab A3 From 2850984d60887027852b6a10a50070ae9c33affc Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 16:38:17 +0000 Subject: [PATCH 027/336] (make-char): Remove redundancy. --- lisp/ChangeLog | 2 ++ lisp/international/mule.el | 22 ++++++++++------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f66b3838c2a..4598e38a261 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2006-07-07 Stefan Monnier + * international/mule.el (make-char): Remove redundancy. + * emacs-lisp/bytecomp.el (byte-compile-form): The `byte-compile' property may contain an anonymous function rather than a symbol. diff --git a/lisp/international/mule.el b/lisp/international/mule.el index a248a449166..31e3b5cedb0 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el @@ -1,6 +1,6 @@ ;;; mule.el --- basic commands for mulitilingual environment -;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 ;; Free Software Foundation, Inc. ;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 ;; National Institute of Advanced Industrial Science and Technology (AIST) @@ -283,16 +283,14 @@ would need to index the corresponding Emacs charset." (make-char-internal (charset-id charset) code1 code2)) (put 'make-char 'byte-compile - (function - (lambda (form) - (let ((charset (nth 1 form))) - (if (charset-quoted-standard-p charset) - (byte-compile-normal-call - (cons 'make-char-internal - (cons (charset-id (nth 1 charset)) (nthcdr 2 form)))) - (byte-compile-normal-call - (cons 'make-char-internal - (cons (list 'charset-id charset) (nthcdr 2 form))))))))) + (lambda (form) + (let ((charset (nth 1 form))) + (byte-compile-normal-call + (cons 'make-char-internal + (cons (if (charset-quoted-standard-p charset) + (charset-id (nth 1 charset)) + (list 'charset-id charset)) + (nthcdr 2 form))))))) (defun charset-list () "Return list of charsets ever defined. @@ -2301,5 +2299,5 @@ This function is intended to be added to `auto-coding-functions'." ;;; (provide 'mule) -;;; arch-tag: 9aebaa6e-0e8a-40a9-b857-cb5d04a39e7c +;; arch-tag: 9aebaa6e-0e8a-40a9-b857-cb5d04a39e7c ;;; mule.el ends here From dd9f0dcd8f1576b5d59009ffce6526c69a290a7a Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 16:52:13 +0000 Subject: [PATCH 028/336] (Fforward_comment): Fix int-32 vs EMACS_INT-64 mixup. --- src/ChangeLog | 2 ++ src/syntax.c | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 4ad5cc11716..859a6465f85 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,7 @@ 2006-07-07 Stefan Monnier + * syntax.c (Fforward_comment): Fix int-32 vs EMACS_INT-64 mixup. + * lread.c (read_filtered_event): Remove `register' qualifier because it causes compilation problem with gcc-4.0.2-20051125 on amd64. (readevalloop): Remove unused var `bpos'. diff --git a/src/syntax.c b/src/syntax.c index 9af4773a01b..d72fe4636db 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1992,16 +1992,16 @@ between them, return t; otherwise return nil. */) (count) Lisp_Object count; { - register int from; - int from_byte; - register int stop; + register EMACS_INT from; + EMACS_INT from_byte; + register EMACS_INT stop; register int c, c1; register enum syntaxcode code; int comstyle = 0; /* style of comment encountered */ int comnested = 0; /* whether the comment is nestable or not */ int found; - int count1; - int out_charpos, out_bytepos; + EMACS_INT count1; + EMACS_INT out_charpos, out_bytepos; int dummy; CHECK_NUMBER (count); From 55f6a28058fa1f52c6f1af747739134cde9414f8 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 7 Jul 2006 19:04:49 +0000 Subject: [PATCH 029/336] (fill-delete-prefix): Don't ignore excessively long prefixes. (fill-region-as-paragraph): Don't round up to a whole line. (fill-comment-paragraph): Don't include the code-before-the-comment when calling fill-region-as-paragraph. --- lisp/ChangeLog | 6 ++++++ lisp/textmodes/fill.el | 38 +++++++++++++++++++++----------------- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4598e38a261..5b72dc6a8c5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,11 @@ 2006-07-07 Stefan Monnier + * textmodes/fill.el (fill-delete-prefix): Don't ignore excessively + long prefixes. + (fill-region-as-paragraph): Don't round up to a whole line. + (fill-comment-paragraph): Don't include the code-before-the-comment + when calling fill-region-as-paragraph. + * international/mule.el (make-char): Remove redundancy. * emacs-lisp/bytecomp.el (byte-compile-form): The `byte-compile' diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 9218c565c97..409e9117674 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -408,18 +408,19 @@ Point is moved to just past the fill prefix on the first line." "\\)?[ \t]*") "[ \t]*"))) (goto-char from) - (if (>= (+ (current-left-margin) (length prefix)) - (current-fill-column)) - (error "fill-prefix too long for specified width")) + ;; Why signal an error here? The problem needs to be caught elsewhere. + ;; (if (>= (+ (current-left-margin) (length prefix)) + ;; (current-fill-column)) + ;; (error "fill-prefix too long for specified width")) (forward-line 1) (while (< (point) to) (if (looking-at fpre) - (delete-region (point) (match-end 0))) + (delete-region (point) (match-end 0))) (forward-line 1)) (goto-char from) (if (looking-at fpre) (goto-char (match-end 0))) - (setq from (point)))) + (point))) ;; The `fill-space' property carries the string with which a newline ;; should be replaced when unbreaking a line (in fill-delete-newlines). @@ -627,8 +628,10 @@ space does not end a sentence, so don't break a line there." (let ((from-plus-indent (point)) (oneleft nil)) - (beginning-of-line) - (setq from (point)) + ;; We used to round up to whole line, but that prevents us from + ;; correctly handling filling of mixed code-and-comment where we + ;; do want to fill the comment but not the code. + ;; (beginning-of-line) (setq from (point)) ;; Delete all but one soft newline at end of region. ;; And leave TO before that one. @@ -799,7 +802,7 @@ If `fill-paragraph-function' is nil, return the `fill-prefix' used for filling." If we're not in a comment, just return nil so that the caller can take care of filling. JUSTIFY is used as in `fill-paragraph'." (comment-normalize-vars) - (let (has-code-and-comment ; Non-nil if it contains code and a comment. + (let (has-code-and-comment ; Non-nil if it contains code and a comment. comin comstart) ;; Figure out what kind of comment we are looking at. (save-excursion @@ -857,12 +860,13 @@ can take care of filling. JUSTIFY is used as in `fill-paragraph'." (or (comment-search-forward (line-end-position) t) (point))) (looking-at comment-re)) - 1 2)))) - ;; Find the beginning of the first line past the region to fill. - (save-excursion - (while (progn (forward-line 1) - (looking-at comment-re))) - (point))) + (progn (setq comstart (point)) 1) + (progn (setq comstart (point)) 2))))) + ;; Find the beginning of the first line past the region to fill. + (save-excursion + (while (progn (forward-line 1) + (looking-at comment-re))) + (point))) ;; Obey paragraph starters and boundaries within comments. (let* ((paragraph-separate ;; Use the default values since they correspond to @@ -874,7 +878,7 @@ can take care of filling. JUSTIFY is used as in `fill-paragraph'." (concat paragraph-start "\\|[ \t]*\\(?:" comment-start-skip "\\)\\(?:" (default-value 'paragraph-start) "\\)")) - ;; We used to reply on fill-prefix to break paragraph at + ;; We used to rely on fill-prefix to break paragraph at ;; comment-starter changes, but it did not work for the ;; first line (mixed comment&code). ;; We now use comment-re instead to "manually" make sure @@ -893,7 +897,7 @@ can take care of filling. JUSTIFY is used as in `fill-paragraph'." ;; Find the fill-prefix to use. (cond - (fill-prefix) ; Use the user-provided fill prefix. + (fill-prefix) ; Use the user-provided fill prefix. ((and adaptive-fill-mode ; Try adaptive fill mode. (setq fill-prefix (fill-context-prefix beg end)) (string-match comment-start-skip fill-prefix))) @@ -903,7 +907,7 @@ can take care of filling. JUSTIFY is used as in `fill-paragraph'." ;; Don't fill with narrowing. (or (fill-region-as-paragraph - beg end justify nil + (max comstart beg) end justify nil ;; Don't canonicalize spaces within the code just before ;; the comment. (save-excursion From 6f6c5fb3940433002accf60b14881da11936c3ba Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sat, 8 Jul 2006 01:45:46 +0000 Subject: [PATCH 030/336] * term/x-win.el (x-display-name): Doc fix. --- lisp/ChangeLog | 4 ++++ lisp/term/x-win.el | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5b72dc6a8c5..98c2d923614 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-07-07 Chong Yidong + + * term/x-win.el (x-display-name): Doc fix. + 2006-07-07 Stefan Monnier * textmodes/fill.el (fill-delete-prefix): Don't ignore excessively diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index 494143b6fcc..505987d88ff 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el @@ -182,7 +182,10 @@ initial-frame-alist))) (defvar x-display-name nil - "The X display name specifying server and X frame.") + "The name of the X display on which Emacs was started. + +For the X display name of individual frames, see the`display' +frame parameter.") (defun x-handle-display (switch) (setq x-display-name (car x-invocation-args) From 26816cbf789cb93b2f602df814613a0ac0d8cde2 Mon Sep 17 00:00:00 2001 From: Stephen Gildea Date: Sat, 8 Jul 2006 11:42:40 +0000 Subject: [PATCH 031/336] fileio.c (do_auto_save_make_dir): Make the auto-save-list-file directory unreadable for better user privacy. --- src/ChangeLog | 5 +++++ src/fileio.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 859a6465f85..79a1dab60de 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2006-07-08 Stephen Gildea + + * fileio.c (do_auto_save_make_dir): Make the auto-save-list-file + directory unreadable for better user privacy. + 2006-07-07 Stefan Monnier * syntax.c (Fforward_comment): Fix int-32 vs EMACS_INT-64 mixup. diff --git a/src/fileio.c b/src/fileio.c index d109f034652..839bf86af53 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -5853,7 +5853,11 @@ static Lisp_Object do_auto_save_make_dir (dir) Lisp_Object dir; { - return call2 (Qmake_directory, dir, Qt); + Lisp_Object mode; + + call2 (Qmake_directory, dir, Qt); + XSETFASTINT (mode, 0700); + return Fset_file_modes (dir, mode); } static Lisp_Object From f2bb3ca35b3ecc825c0fce70ce21c6a0df78b6f6 Mon Sep 17 00:00:00 2001 From: Thien-Thi Nguyen Date: Sat, 8 Jul 2006 13:21:42 +0000 Subject: [PATCH 032/336] Add an example "Compilation started ..." line. --- etc/ChangeLog | 4 ++++ etc/compilation.txt | 3 +++ 2 files changed, 7 insertions(+) diff --git a/etc/ChangeLog b/etc/ChangeLog index 823f82b57c5..676e09a73f9 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,7 @@ +2006-07-08 Thien-Thi Nguyen + + * compilation.txt: Add an example "Compilation started ..." line. + 2006-07-07 Carsten Dominik * orgcard.tex: Version number change. diff --git a/etc/compilation.txt b/etc/compilation.txt index 2e784000149..abf8ecdf9c3 100644 --- a/etc/compilation.txt +++ b/etc/compilation.txt @@ -5,6 +5,9 @@ how they are rendered. It is intended both to help you decide which matchers you need and as a test of the matchers. Move the mouse over a colored part or use `compilation-message-face', to see how much text was actually matched. +Note that the following example line should NOT be highlighted: +Compilation started at Sat Jul 8 15:19:25 + The important part is the symbol(s) line at the beginning of each entry. These are the symbols you can customize `compilation-error-regexp-alist' for, to match the messages shown in that entry. A few complex cases have more than From 1094404231cfc3dc55b5289f4d029d3210f71ead Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 15:20:52 +0000 Subject: [PATCH 033/336] (define-minor-mode): Doc fix. --- lisp/ChangeLog | 4 ++++ lisp/emacs-lisp/easy-mmode.el | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 98c2d923614..b295b26a065 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-07-08 Eli Zaretskii + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. + 2006-07-07 Chong Yidong * term/x-win.el (x-display-name): Doc fix. diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index 5475ed530d3..097083112c3 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el @@ -101,7 +101,7 @@ Optional KEYMAP is the default (defvar) keymap bound to the mode keymap. The above three arguments can be skipped if keyword arguments are used (see below). -BODY contains code that will be executed each time the mode is (dis)activated. +BODY contains code to execute each time the mode is activated or deactivated. It will be executed after any toggling but before running the hook variable `mode-HOOK'. Before the actual body code, you can write keyword arguments (alternating From 7f9da0f3c77fe6f6ec264ed27d9446dbbafe6f18 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 15:53:01 +0000 Subject: [PATCH 034/336] (hexl-find-file): Doc fix. --- lisp/ChangeLog | 2 ++ lisp/hexl.el | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b295b26a065..87700d48756 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2006-07-08 Eli Zaretskii + * hexl.el (hexl-find-file): Doc fix. + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. 2006-07-07 Chong Yidong diff --git a/lisp/hexl.el b/lisp/hexl.el index e2078fceecb..d753fc83017 100644 --- a/lisp/hexl.el +++ b/lisp/hexl.el @@ -351,8 +351,9 @@ You can use \\[hexl-find-file] to visit a file in Hexl mode. ;;;###autoload (defun hexl-find-file (filename) - "Edit file FILENAME in `hexl-mode'. -Switch to a buffer visiting file FILENAME, creating one in none exists." + "Edit file FILENAME as a binary file in hex dump format. +Switch to a buffer visiting file FILENAME, creating one if none exists, +and edit the file in `hexl-mode'." (interactive (list (let ((completion-ignored-extensions nil)) From f240128d3589dddecf0ea01691a8d13f5bb69628 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 16:17:47 +0000 Subject: [PATCH 035/336] (PKG_CHECK_MODUILES): Redirect stderr of pkg-config to /dev/null, since we don't need the error message, just the exit status. --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index e47e6ec94c7..48ba5d0b2e6 100644 --- a/configure.in +++ b/configure.in @@ -1500,7 +1500,7 @@ AC_DEFUN([PKG_CHECK_MODULES], [ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then AC_MSG_CHECKING(for $2) - if $PKG_CONFIG --exists "$2" ; then + if $PKG_CONFIG --exists "$2" 2> /dev/null; then AC_MSG_RESULT(yes) succeeded=yes From 811137f6cc53ec5f7d639f20d2f6cea048d9b82e Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 16:18:28 +0000 Subject: [PATCH 036/336] Regenerated. --- configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure index d72790133d7..1e5a006399c 100755 --- a/configure +++ b/configure @@ -5693,7 +5693,7 @@ fi echo "$as_me:$LINENO: checking for $ALSA_MODULES" >&5 echo $ECHO_N "checking for $ALSA_MODULES... $ECHO_C" >&6 - if $PKG_CONFIG --exists "$ALSA_MODULES" ; then + if $PKG_CONFIG --exists "$ALSA_MODULES" 2> /dev/null; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes @@ -10382,7 +10382,7 @@ echo "$as_me: error: echo "$as_me:$LINENO: checking for $GTK_MODULES" >&5 echo $ECHO_N "checking for $GTK_MODULES... $ECHO_C" >&6 - if $PKG_CONFIG --exists "$GTK_MODULES" ; then + if $PKG_CONFIG --exists "$GTK_MODULES" 2> /dev/null; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes From d47a5ce6dd55a86c93db5bb9bd87568962e7ed39 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 16:18:51 +0000 Subject: [PATCH 037/336] ChangeLog --- ChangeLog | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ChangeLog b/ChangeLog index 36118339ad8..84a07582b3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-07-08 Eli Zaretskii + + * configure: Regenerated. + + * configure.in (PKG_CHECK_MODUILES): Redirect stderr of pkg-config + to /dev/null, since we don't need the error message, just the + exit status. + 2006-07-07 Eli Zaretskii * CONTRIBUTE: Slight formatting changes and typo fixes. Add From 366f174136f885b6fa701505f7319b1743ab8567 Mon Sep 17 00:00:00 2001 From: Romain Francoise Date: Sat, 8 Jul 2006 16:31:42 +0000 Subject: [PATCH 038/336] (x-display-name): Fix typo. --- lisp/ChangeLog | 4 ++++ lisp/term/x-win.el | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 87700d48756..0995999b7e2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-07-08 Romain Francoise + + * term/x-win.el (x-display-name): Fix typo. + 2006-07-08 Eli Zaretskii * hexl.el (hexl-find-file): Doc fix. diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index 505987d88ff..c4331b3c778 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el @@ -184,7 +184,7 @@ (defvar x-display-name nil "The name of the X display on which Emacs was started. -For the X display name of individual frames, see the`display' +For the X display name of individual frames, see the `display' frame parameter.") (defun x-handle-display (switch) From 02dedf4bc49a19e5a6c4b78771912dd107dea54b Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:00:14 +0000 Subject: [PATCH 039/336] (Textual Scrolling, Resizing Windows): Remove @tindex. --- lispref/windows.texi | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lispref/windows.texi b/lispref/windows.texi index af73339a311..973b429a04e 100644 --- a/lispref/windows.texi +++ b/lispref/windows.texi @@ -1506,7 +1506,6 @@ never happens. @end defopt @defopt scroll-down-aggressively -@tindex scroll-down-aggressively The value of this variable should be either @code{nil} or a fraction @var{f} between 0 and 1. If it is a fraction, that specifies where on the screen to put point when scrolling down. More precisely, when a @@ -1521,7 +1520,6 @@ fashion. @end defopt @defopt scroll-up-aggressively -@tindex scroll-up-aggressively Likewise, for scrolling up. The value, @var{f}, specifies how far point should be placed from the bottom of the window; thus, as with @code{scroll-up-aggressively}, a larger value scrolls more aggressively. @@ -1835,7 +1833,6 @@ If @var{window} is @code{nil}, the function uses the selected window. @end example @end defun -@tindex window-body-height @defun window-body-height &optional window Like @code{window-height} but the value does not include the mode line (if any) or the header line (if any). @@ -2068,7 +2065,6 @@ This command returns non-@code{nil} if it actually shrank the window and @code{nil} otherwise. @end deffn -@tindex window-size-fixed @defvar window-size-fixed If this variable is non-@code{nil}, in any given buffer, then the size of any window displaying the buffer remains fixed From f04493d872837bc9bef0c6c2976df5b9eb200e41 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:00:50 +0000 Subject: [PATCH 040/336] (Constant Variables): Remove @tindex. --- lispref/variables.texi | 1 - 1 file changed, 1 deletion(-) diff --git a/lispref/variables.texi b/lispref/variables.texi index cd7c22b0bff..656224367ac 100644 --- a/lispref/variables.texi +++ b/lispref/variables.texi @@ -126,7 +126,6 @@ nil @equiv{} 'nil @end example @defun keywordp object -@tindex keywordp function returns @code{t} if @var{object} is a symbol whose name starts with @samp{:}, interned in the standard obarray, and returns @code{nil} otherwise. From baa4b6c86ac23353aaf4428f6ca973b0ff007c6e Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:01:23 +0000 Subject: [PATCH 041/336] (Buffer Contents, Deletion, Changing Properties) (Property Search, Special Properties, Sticky Properties) (Links and Mouse-1, Fields, Change Hooks): Remove @tindex. --- lispref/text.texi | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/lispref/text.texi b/lispref/text.texi index 6c295627ced..c598a4c2010 100644 --- a/lispref/text.texi +++ b/lispref/text.texi @@ -278,7 +278,6 @@ This is the contents of buffer foo @end example @end defun -@tindex current-word @defun current-word &optional strict really-word This function returns the symbol (or word) at or near point, as a string. The return value includes no text properties. @@ -581,7 +580,6 @@ Otherwise, point relocates with the surrounding text, as markers do. @end deffn @defun delete-and-extract-region start end -@tindex delete-and-extract-region This function deletes the text between positions @var{start} and @var{end} in the current buffer, and returns a string containing the text just deleted. @@ -2765,7 +2763,6 @@ Do not rely on the return value of this function. is with @code{propertize}: @defun propertize string &rest properties -@tindex propertize This function returns a copy of @var{string} which has the text properties @var{properties}. These properties apply to all the characters in the string that is returned. Here is an example that @@ -2903,7 +2900,6 @@ position if no change is found. @end defun @defun next-single-char-property-change pos prop &optional object limit -@tindex next-single-char-property-change This is like @code{next-single-property-change} except that it considers overlay properties as well as text properties, and if no change is found before the end of the @var{object}, it returns the @@ -2914,7 +2910,6 @@ text-properties are considered. @end defun @defun previous-single-char-property-change pos prop &optional object limit -@tindex previous-single-char-property-change This is like @code{next-single-char-property-change}, but scans back from @var{pos} instead of forward, and returns the minimum valid position in @var{object} if no change is found. @@ -3247,7 +3242,6 @@ property has no effect. Do not set this variable globally; bind it with @end defvar @defvar show-help-function -@tindex show-help-function @anchor{Help display} If this variable is non-@code{nil}, it specifies a function called to display help strings. These may be @code{help-echo} properties, menu help strings (@pxref{Simple Menu Items}, @@ -3339,7 +3333,6 @@ list, properties are rear-sticky @emph{unless} their names are in the list. @defvar text-property-default-nonsticky -@tindex text-property-default-nonsticky This variable holds an alist which defines the default rear-stickiness of various text properties. Each element has the form @code{(@var{property} . @var{nonstickiness})}, and it defines the @@ -3672,7 +3665,6 @@ a @key{Mouse-1} click shall be translated to @key{RET}: @end smallexample @defun mouse-on-link-p pos -@tindex mouse-on-link-p This function returns non-@code{nil} if position @var{pos} in the current buffer is on a link. @end defun @@ -3711,7 +3703,6 @@ to an empty field whose beginning and end are both at @var{pos}. value of point is used by default. @defun field-beginning &optional pos escape-from-edge limit -@tindex field-beginning This function returns the beginning of the field specified by @var{pos}. If @var{pos} is at the beginning of its field, and @@ -3726,7 +3717,6 @@ returned instead. @end defun @defun field-end &optional pos escape-from-edge limit -@tindex field-end This function returns the end of the field specified by @var{pos}. If @var{pos} is at the end of its field, and @var{escape-from-edge} is @@ -3740,24 +3730,20 @@ instead. @end defun @defun field-string &optional pos -@tindex field-string This function returns the contents of the field specified by @var{pos}, as a string. @end defun @defun field-string-no-properties &optional pos -@tindex field-string-no-properties This function returns the contents of the field specified by @var{pos}, as a string, discarding text properties. @end defun @defun delete-field &optional pos -@tindex delete-field This function deletes the text of the field specified by @var{pos}. @end defun @defun constrain-to-field new-pos old-pos &optional escape-from-edge only-in-line inhibit-capture-property -@tindex constrain-to-field This function ``constrains'' @var{new-pos} to the field that @var{old-pos} belongs to---in other words, it returns the position closest to @var{new-pos} that is in the same field as @var{old-pos}. @@ -4082,7 +4068,6 @@ manner. converting to and from this code. @defun base64-encode-region beg end &optional no-line-break -@tindex base64-encode-region This function converts the region from @var{beg} to @var{end} into base 64 code. It returns the length of the encoded text. An error is signaled if a character in the region is multibyte, i.e.@: in a @@ -4097,7 +4082,6 @@ the output is just one long line. @end defun @defun base64-encode-string string &optional no-line-break -@tindex base64-encode-string This function converts the string @var{string} into base 64 code. It returns a string containing the encoded text. As for @code{base64-encode-region}, an error is signaled if a character in the @@ -4110,7 +4094,6 @@ the result string is just one long line. @end defun @defun base64-decode-region beg end -@tindex base64-decode-region This function converts the region from @var{beg} to @var{end} from base 64 code into the corresponding decoded text. It returns the length of the decoded text. @@ -4119,7 +4102,6 @@ The decoding functions ignore newline characters in the encoded text. @end defun @defun base64-decode-string string -@tindex base64-decode-string This function converts the string @var{string} from base 64 code into the corresponding decoded text. It returns a unibyte string containing the decoded text. @@ -4360,7 +4342,6 @@ that was previously in the unmodified state. @end defvar @defvar inhibit-modification-hooks -@tindex inhibit-modification-hooks If this variable is non-@code{nil}, all of the change hooks are disabled; none of them run. This affects all the hook variables described above in this section, as well as the hooks attached to From e30108de224f213228284a9396ece8d4edfeaa12 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:01:52 +0000 Subject: [PATCH 042/336] (Syntax Table Functions, Parsing Expressions, Categories): Remove @tindex. --- lispref/syntax.texi | 3 --- 1 file changed, 3 deletions(-) diff --git a/lispref/syntax.texi b/lispref/syntax.texi index 9a763b7357a..305f347c9f6 100644 --- a/lispref/syntax.texi +++ b/lispref/syntax.texi @@ -513,7 +513,6 @@ the current buffer. @end defun @defmac with-syntax-table @var{table} @var{body}@dots{} -@tindex with-syntax-table This macro executes @var{body} using @var{table} as the current syntax table. It returns the value of the last form in @var{body}, after restoring the old current syntax table. @@ -799,7 +798,6 @@ before count is used up, @code{nil} is returned. @end defun @defvar multibyte-syntax-as-symbol -@tindex multibyte-syntax-as-symbol If this variable is non-@code{nil}, @code{scan-sexps} treats all non-@acronym{ASCII} characters as symbol constituents regardless of what the syntax table says about them. (However, text properties @@ -1076,7 +1074,6 @@ buffer. It returns @var{table}. @end defun @defun make-category-table -@tindex make-category-table This creates and returns an empty category table. In an empty category table, no categories have been allocated, and no characters belong to any categories. From aac2522c1d913c0f4338af0a320eb5266b8133f6 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:02:19 +0000 Subject: [PATCH 043/336] (Other Plists): Remove @tindex. --- lispref/symbols.texi | 1 - 1 file changed, 1 deletion(-) diff --git a/lispref/symbols.texi b/lispref/symbols.texi index f95fca9740b..f484b0da067 100644 --- a/lispref/symbols.texi +++ b/lispref/symbols.texi @@ -584,7 +584,6 @@ using @code{equal} instead of @code{eq}. @end defun @defun plist-member plist property -@tindex plist-member This returns non-@code{nil} if @var{plist} contains the given @var{property}. Unlike @code{plist-get}, this allows you to distinguish between a missing property and a property with the value @code{nil}. From 9b6194b4594df1894717c963711b17a096ec7673 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:02:52 +0000 Subject: [PATCH 044/336] (Output Variables): Remove @tindex. --- lispref/streams.texi | 2 -- 1 file changed, 2 deletions(-) diff --git a/lispref/streams.texi b/lispref/streams.texi index 34dbc584e2c..8b28f06ac70 100644 --- a/lispref/streams.texi +++ b/lispref/streams.texi @@ -792,13 +792,11 @@ Emacs-Lisp Expressions, emacs, The GNU Emacs Manual}). These variables are used for detecting and reporting circular and shared structure: -@tindex print-circle @defvar print-circle If non-@code{nil}, this variable enables detection of circular and shared structure in printing. @end defvar -@tindex print-gensym @defvar print-gensym If non-@code{nil}, this variable enables detection of uninterned symbols (@pxref{Creating Symbols}) in printing. When this is enabled, From 6061e9bcf248bfde1d0ad5c58c0c11884d2dbf29 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:03:23 +0000 Subject: [PATCH 045/336] (Input to Processes, Query Before Exit): Remove @tindex. --- lispref/processes.texi | 3 --- 1 file changed, 3 deletions(-) diff --git a/lispref/processes.texi b/lispref/processes.texi index abaa607d1d4..a97690c698b 100644 --- a/lispref/processes.texi +++ b/lispref/processes.texi @@ -840,7 +840,6 @@ The function returns @var{process}. @end defun @defun process-running-child-p process -@tindex process-running-child-p process This function will tell you whether a subprocess has given control of its terminal to its own child process. The value is @code{t} if this is true, or if Emacs cannot tell; it is @code{nil} if Emacs can be certain @@ -1452,12 +1451,10 @@ non-@code{nil}, says that Emacs should ask for confirmation before exiting and thus killing that process. The default for the query flag is @code{t}, meaning @emph{do} query. -@tindex process-query-on-exit-flag @defun process-query-on-exit-flag process This returns the query flag of @var{process}. @end defun -@tindex set-process-query-on-exit-flag @defun set-process-query-on-exit-flag process flag This function sets the query flag of @var{process} to @var{flag}. It returns @var{flag}. From 3fbca65f539e2f045ae00753c0848ff247cb9d08 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:03:53 +0000 Subject: [PATCH 046/336] (Word Motion, Text Lines, List Motion): Remove @tindex. --- lispref/positions.texi | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lispref/positions.texi b/lispref/positions.texi index f56e1a6a389..d8242158675 100644 --- a/lispref/positions.texi +++ b/lispref/positions.texi @@ -228,7 +228,6 @@ words. Otherwise, they do not. @end defvar @defvar inhibit-field-text-motion -@tindex inhibit-field-text-motion If this variable is non-@code{nil}, certain motion functions including @code{forward-word}, @code{forward-sentence}, and @code{forward-paragraph} ignore field boundaries. @@ -345,7 +344,6 @@ is signaled. @end deffn @defun line-beginning-position &optional count -@tindex line-beginning-position Return the position that @code{(beginning-of-line @var{count})} would move to. @end defun @@ -367,7 +365,6 @@ is signaled. @end deffn @defun line-end-position &optional count -@tindex line-end-position Return the position that @code{(end-of-line @var{count})} would move to. @end defun @@ -735,14 +732,12 @@ The default is @code{t}. @end defopt @defvar beginning-of-defun-function -@tindex beginning-of-defun-function If non-@code{nil}, this variable holds a function for finding the beginning of a defun. The function @code{beginning-of-defun} calls this function instead of using its normal method. @end defvar @defvar end-of-defun-function -@tindex end-of-defun-function If non-@code{nil}, this variable holds a function for finding the end of a defun. The function @code{end-of-defun} calls this function instead of using its normal method. From 27d8ff63494e5b9d1933eff7e3cd3306cae6476a Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:04:32 +0000 Subject: [PATCH 047/336] (Init File, System Environment, Sound Output, Session Management): Remove @tindex. --- lispref/os.texi | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lispref/os.texi b/lispref/os.texi index 4d92ac293a7..a9a1afaa6d8 100644 --- a/lispref/os.texi +++ b/lispref/os.texi @@ -246,13 +246,11 @@ command-line action arguments. @end defvar @defvar emacs-startup-hook -@tindex emacs-startup-hook This normal hook is run, once, just after handling the command line arguments, just before @code{term-setup-hook}. @end defvar @defvar user-init-file -@tindex user-init-file This variable holds the absolute file name of the user's init file. If the actual init file loaded is a compiled file, such as @file{.emacs.elc}, the value refers to the corresponding source file. @@ -793,7 +791,6 @@ and MS-Windows. @end defvar @defun parse-colon-path path -@tindex parse-colon-path This function takes a search path string such as would be the value of the @code{PATH} environment variable, and splits it at the separators, returning a list of directory names. @code{nil} in this list stands for @@ -1915,7 +1912,6 @@ earlier did not support sound at all. The sound must be stored as a file in RIFF-WAVE format (@samp{.wav}) or Sun Audio format (@samp{.au}). -@tindex play-sound @defun play-sound sound This function plays a specified sound. The argument, @var{sound}, has the form @code{(sound @var{properties}...)}, where the @var{properties} @@ -1952,12 +1948,10 @@ Each function is called with one argument, @var{sound}. @end defun @defun play-sound-file file &optional volume device -@tindex play-sound-file This function is an alternative interface to playing a sound @var{file} specifying an optional @var{volume} and @var{device}. @end defun -@tindex play-sound-functions @defvar play-sound-functions A list of functions to be called before playing a sound. Each function is called with one argument, a property list that describes the sound. @@ -2060,7 +2054,6 @@ saved session to restore. For Emacs, this argument is @samp{--smid @var{session}}. @defvar emacs-save-session-functions -@tindex emacs-save-session-functions Emacs supports saving state by using a hook called @code{emacs-save-session-functions}. Each function in this hook is called when the session manager tells Emacs that the window system is From c58faeeda464e7fff44016a5e34e13d766ffd6bf Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:05:09 +0000 Subject: [PATCH 048/336] (Text Representations, Character Sets, Chars and Bytes, Locales): Remove @tindex. --- lispref/nonascii.texi | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lispref/nonascii.texi b/lispref/nonascii.texi index 2224fdbd436..b22a162bb2e 100644 --- a/lispref/nonascii.texi +++ b/lispref/nonascii.texi @@ -95,7 +95,6 @@ default value to @code{nil} early in startup. @end defvar @defun position-bytes position -@tindex position-bytes Return the byte-position corresponding to buffer position @var{position} in the current buffer. This is 1 at the start of the buffer, and counts upward in bytes. If @var{position} is out of @@ -103,7 +102,6 @@ range, the value is @code{nil}. @end defun @defun byte-to-position byte-position -@tindex byte-to-position Return the buffer position corresponding to byte-position @var{byte-position} in the current buffer. If @var{byte-position} is out of range, the value is @code{nil}. @@ -354,7 +352,6 @@ valid character. @end defun @defun charset-plist charset -@tindex charset-plist This function returns the charset property list of the character set @var{charset}. Although @var{charset} is a symbol, this is not the same as the property list of that symbol. Charset properties are used for @@ -389,7 +386,6 @@ dimension is always 1 or 2. @end defun @defun charset-bytes charset -@tindex charset-bytes This function returns the number of bytes used to represent a character in character set @var{charset}. @end defun @@ -1439,7 +1435,6 @@ to use in language-related features. These Emacs variables control how Emacs interacts with these features. @defvar locale-coding-system -@tindex locale-coding-system @cindex keyboard input decoding on X This variable specifies the coding system to use for decoding system error messages and---on X Window system only---keyboard input, for @@ -1448,7 +1443,6 @@ decoding the return value of @code{format-time-string}. @end defvar @defvar system-messages-locale -@tindex system-messages-locale This variable specifies the locale to use for generating system error messages. Changing the locale can cause messages to come out in a different language or in a different orthography. If the variable is @@ -1457,7 +1451,6 @@ usual POSIX fashion. @end defvar @defvar system-time-locale -@tindex system-time-locale This variable specifies the locale to use for formatting time values. Changing the locale can cause messages to appear according to the conventions of a different language. If the variable is @code{nil}, the From 4d65ea9d339ccb5977ac2372bd90e5f14ce36dad Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:05:39 +0000 Subject: [PATCH 049/336] (Defining Minor Modes, Header Lines): Remove @tindex. --- lispref/modes.texi | 3 --- 1 file changed, 3 deletions(-) diff --git a/lispref/modes.texi b/lispref/modes.texi index b2848b87b04..c98039d7ae0 100644 --- a/lispref/modes.texi +++ b/lispref/modes.texi @@ -1365,7 +1365,6 @@ characters are reserved for major modes.) implementing a mode in one self-contained definition. @defmac define-minor-mode mode doc [init-value [lighter [keymap]]] keyword-args@dots{} body@dots{} -@tindex define-minor-mode This macro defines a new minor mode whose name is @var{mode} (a symbol). It defines a command named @var{mode} to toggle the minor mode, with @var{doc} as its documentation string. It also defines a @@ -2079,14 +2078,12 @@ top, just as it can have a mode line at the bottom. The header line feature works just like the mode-line feature, except that it's controlled by different variables. -@tindex header-line-format @defvar header-line-format This variable, local in every buffer, specifies how to display the header line, for windows displaying the buffer. The format of the value is the same as for @code{mode-line-format} (@pxref{Mode Line Data}). @end defvar -@tindex default-header-line-format @defvar default-header-line-format This variable holds the default @code{header-line-format} for buffers that do not override it. This is the same as @code{(default-value From 9de0ae286ce4e0974658c45c27ef6ffb54db4841 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:06:06 +0000 Subject: [PATCH 050/336] (Minibuffer Contents): Remove @tindex. --- lispref/minibuf.texi | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi index 0fffc8ef923..d05329eeed7 100644 --- a/lispref/minibuf.texi +++ b/lispref/minibuf.texi @@ -1835,7 +1835,6 @@ minibuffer. If no minibuffer is active, it returns @code{nil}. @end defun @defun minibuffer-prompt-end -@tindex minibuffer-prompt-end This function returns the current position of the end of the minibuffer prompt, if a minibuffer is current. Otherwise, it returns the minimum valid buffer position. @@ -1847,7 +1846,6 @@ prompt, if a minibuffer is current. Otherwise, it returns zero. @end defun @defun minibuffer-contents -@tindex minibuffer-contents This function returns the editable contents of the minibuffer (that is, everything except the prompt) as a string, if a minibuffer is current. Otherwise, it returns the @@ -1855,20 +1853,17 @@ entire contents of the current buffer. @end defun @defun minibuffer-contents-no-properties -@tindex minibuffer-contents-no-properties This is like @code{minibuffer-contents}, except that it does not copy text properties, just the characters themselves. @xref{Text Properties}. @end defun @defun minibuffer-completion-contents -@tindex minibuffer-completion-contents This is like @code{minibuffer-contents}, except that it returns only the contents before point. That is the part that completion commands operate on. @xref{Minibuffer Completion}. @end defun @defun delete-minibuffer-contents -@tindex delete-minibuffer-contents This function erases the editable contents of the minibuffer (that is, everything except the prompt), if a minibuffer is current. Otherwise, it erases the entire current buffer. From 47a2831602aa5aaef36afab36612f10d1eb236c1 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:06:33 +0000 Subject: [PATCH 051/336] (Information from Markers): Remove @tindex. --- lispref/markers.texi | 1 - 1 file changed, 1 deletion(-) diff --git a/lispref/markers.texi b/lispref/markers.texi index 1ad54c63e91..514b93a2df5 100644 --- a/lispref/markers.texi +++ b/lispref/markers.texi @@ -311,7 +311,6 @@ This function returns the buffer that @var{marker} points into, or @end defun @defun buffer-has-markers-at position -@tindex buffer-has-markers-at This function returns @code{t} if one or more markers point at position @var{position} in the current buffer. @end defun From 8fab6dedbf0d2bd0f97ed8a4abeb717fac384b14 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:07:01 +0000 Subject: [PATCH 052/336] (List Elements, Building Lists, Association Lists): Remove @tindex. --- lispref/lists.texi | 3 --- 1 file changed, 3 deletions(-) diff --git a/lispref/lists.texi b/lispref/lists.texi index 5cefce9da7c..7de4a6c6ab0 100644 --- a/lispref/lists.texi +++ b/lispref/lists.texi @@ -245,7 +245,6 @@ This is in contrast to @code{cdr}, which signals an error if @end example @end defun -@tindex pop @defmac pop listname This macro is a way of examining the @sc{car} of a list, and taking it off the list, all at once. @@ -432,7 +431,6 @@ used in this example and the function named @code{list} described below; any symbol can serve both purposes. @end defun -@tindex push @defmac push newelt listname This macro provides an alternative way to write @code{(setq @var{listname} (cons @var{newelt} @var{listname}))}. @@ -1649,7 +1647,6 @@ the associations of one copy without affecting the other: @end defun @defun assq-delete-all key alist -@tindex assq-delete-all This function deletes from @var{alist} all the elements whose @sc{car} is @code{eq} to @var{key}, much as if you used @code{delq} to delete each such element one by one. It returns the shortened alist, and From cdbd783c68ffbaf6c1c6df0e022a1e8058062d69 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:07:32 +0000 Subject: [PATCH 053/336] (Tool Bar): Remove @tindex. --- lispref/keymaps.texi | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi index ed03a1fc90d..38f7fbac77c 100644 --- a/lispref/keymaps.texi +++ b/lispref/keymaps.texi @@ -2436,7 +2436,6 @@ accommodated conveniently, and the default bindings make this easy by using an indirection through @code{tool-bar-map}. @defvar tool-bar-map -@tindex tool-bar-map By default, the global map binds @code{[tool-bar]} as follows: @example (global-set-key [tool-bar] @@ -2456,7 +2455,6 @@ There are two convenience functions for defining tool bar items, as follows. @defun tool-bar-add-item icon def key &rest props -@tindex tool-bar-add-item This function adds an item to the tool bar by modifying @code{tool-bar-map}. The image to use is defined by @var{icon}, which is the base name of an XPM, XBM or PBM image file to be located by @@ -2480,7 +2478,6 @@ To define items in some local map, bind @code{tool-bar-map} with @end defun @defun tool-bar-add-item-from-menu command icon &optional map &rest props -@tindex tool-bar-add-item-from-menu This function is a convenience for defining tool bar items which are consistent with existing menu bar bindings. The binding of @var{command} is looked up in the menu bar in @var{map} (default @@ -2503,32 +2500,27 @@ specifies the local map to make the definition in. The argument @code{tool-bar-add-item-from-menu}. @end defun -@tindex auto-resize-tool-bar @defvar auto-resize-tool-bar If this variable is non-@code{nil}, the tool bar automatically resizes to show all defined tool bar items---but not larger than a quarter of the frame's height. @end defvar -@tindex auto-raise-tool-bar-buttons @defvar auto-raise-tool-bar-buttons If this variable is non-@code{nil}, tool bar items display in raised form when the mouse moves over them. @end defvar -@tindex tool-bar-button-margin @defvar tool-bar-button-margin This variable specifies an extra margin to add around tool bar items. The value is an integer, a number of pixels. The default is 4. @end defvar -@tindex tool-bar-button-relief @defvar tool-bar-button-relief This variable specifies the shadow width for tool bar items. The value is an integer, a number of pixels. The default is 1. @end defvar -@tindex tool-bar-border @defvar tool-bar-border This variable specifies the height of the border drawn below the tool bar area. An integer value specifies height as a number of pixels. From d550765cb614b4c91c3048b85bd6217d7f26d300 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:08:40 +0000 Subject: [PATCH 054/336] (Creating Hash, Hash Access, Defining Hash, Other Hash): Remove @tindex. --- lispref/hash.texi | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/lispref/hash.texi b/lispref/hash.texi index 66420476d42..1913905af8d 100644 --- a/lispref/hash.texi +++ b/lispref/hash.texi @@ -59,7 +59,6 @@ of object and are used only for recording interned symbols The principal function for creating a hash table is @code{make-hash-table}. -@tindex make-hash-table @defun make-hash-table &rest keyword-args This function creates a new hash table according to the specified arguments. The arguments should consist of alternating keywords @@ -155,7 +154,6 @@ of the nominal size. The default for @var{threshold} is 0.8. @end table @end defun -@tindex makehash @defun makehash &optional test This is equivalent to @code{make-hash-table}, but with a different style argument list. The argument @var{test} specifies the method @@ -172,21 +170,18 @@ associations in a hash table. In general, any Lisp object can be used as a hash key, unless the comparison method imposes limits. Any Lisp object can also be used as the value. -@tindex gethash @defun gethash key table &optional default This function looks up @var{key} in @var{table}, and returns its associated @var{value}---or @var{default}, if @var{key} has no association in @var{table}. @end defun -@tindex puthash @defun puthash key value table This function enters an association for @var{key} in @var{table}, with value @var{value}. If @var{key} already has an association in @var{table}, @var{value} replaces the old associated value. @end defun -@tindex remhash @defun remhash key table This function removes the association for @var{key} from @var{table}, if there is one. If @var{key} has no association, @code{remhash} does @@ -197,7 +192,6 @@ non-@code{nil} if it actually removed an association and @code{nil} otherwise. In Emacs Lisp, @code{remhash} always returns @code{nil}. @end defun -@tindex clrhash @defun clrhash table This function removes all the associations from hash table @var{table}, so that it becomes empty. This is also called @dfn{clearing} the hash @@ -207,7 +201,6 @@ table. @var{table}. In Emacs Lisp, it returns @code{nil}. @end defun -@tindex maphash @defun maphash function table @anchor{Definition of maphash} This function calls @var{function} once for each of the associations in @@ -235,7 +228,6 @@ other nearby slots, to see if it has found the key being sought. function to compute the hash code from a key, and a function to compare two keys directly. -@tindex define-hash-table-test @defun define-hash-table-test name test-fn hash-fn This function defines a new hash table test, named @var{name}. @@ -257,7 +249,6 @@ under the property @code{hash-table-test}; the property value's form is @code{(@var{test-fn} @var{hash-fn})}. @end defun -@tindex sxhash @defun sxhash obj This function returns a hash code for Lisp object @var{obj}. This is an integer which reflects the contents of @var{obj} @@ -303,46 +294,38 @@ and equal-looking objects are considered the same key. Here are some other functions for working with hash tables. -@tindex hash-table-p @defun hash-table-p table This returns non-@code{nil} if @var{table} is a hash table object. @end defun -@tindex copy-hash-table @defun copy-hash-table table This function creates and returns a copy of @var{table}. Only the table itself is copied---the keys and values are shared. @end defun -@tindex hash-table-count @defun hash-table-count table This function returns the actual number of entries in @var{table}. @end defun -@tindex hash-table-test @defun hash-table-test table This returns the @var{test} value that was given when @var{table} was created, to specify how to hash and compare keys. See @code{make-hash-table} (@pxref{Creating Hash}). @end defun -@tindex hash-table-weakness @defun hash-table-weakness table This function returns the @var{weak} value that was specified for hash table @var{table}. @end defun -@tindex hash-table-rehash-size @defun hash-table-rehash-size table This returns the rehash size of @var{table}. @end defun -@tindex hash-table-rehash-threshold @defun hash-table-rehash-threshold table This returns the rehash threshold of @var{table}. @end defun -@tindex hash-table-size @defun hash-table-size table This returns the current nominal size of @var{table}. @end defun From e3e0619c0b722776706ed7e4bc81a1a3384df4ba Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:09:12 +0000 Subject: [PATCH 055/336] (What Is a Function, Mapping Functions): Remove @tindex. --- lispref/functions.texi | 2 -- 1 file changed, 2 deletions(-) diff --git a/lispref/functions.texi b/lispref/functions.texi index 9c7381b80d7..7068b385ecf 100644 --- a/lispref/functions.texi +++ b/lispref/functions.texi @@ -152,7 +152,6 @@ function. For example: @end defun @defun subr-arity subr -@tindex subr-arity This function provides information about the argument list of a primitive, @var{subr}. The returned value is a pair @code{(@var{min} . @var{max})}. @var{min} is the minimum number of @@ -807,7 +806,6 @@ Return the list of results." @end defun @defun mapc function sequence -@tindex mapc @code{mapc} is like @code{mapcar} except that @var{function} is used for side-effects only---the values it returns are ignored, not collected into a list. @code{mapc} always returns @var{sequence}. From c709f8f62b9c80925f38a79173296b050fb27aae Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:09:50 +0000 Subject: [PATCH 056/336] (Creating Frames, Parameter Access, Pointer Shape) (Color Names, Text Terminal Colors, Display Feature Testing): Remove @tindex. --- lispref/frames.texi | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/lispref/frames.texi b/lispref/frames.texi index a433203a93e..09887d000dd 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi @@ -107,7 +107,6 @@ frame. @end defvar @defvar after-make-frame-functions -@tindex after-make-frame-functions An abnormal hook run by @code{make-frame} after it creates the frame. Each function in @code{after-make-frame-functions} receives one argument, the frame just created. @@ -216,7 +215,6 @@ These functions let you read and change the parameter values of a frame. @defun frame-parameter frame parameter -@tindex frame-parameter This function returns the value of the parameter @var{parameter} (a symbol) of @var{frame}. If @var{frame} is @code{nil}, it returns the selected frame's parameter. If @var{frame} has no setting for @@ -1583,7 +1581,6 @@ of the buffer contents), the mouse pointer usually uses the those above) by setting @code{void-text-area-pointer}. @defvar void-text-area-pointer -@tindex void-text-area-pointer This variable specifies the mouse pointer style for void text areas. These include the areas after the end of a line or below the last line in the buffer. The default is to use the @code{arrow} (non-text) @@ -1759,7 +1756,6 @@ valid, and what they look like. In some cases, the value depends on the meaning of the term ``selected frame''. @defun color-defined-p color &optional frame -@tindex color-defined-p This function reports whether a color name is meaningful. It returns @code{t} if so; otherwise, @code{nil}. The argument @var{frame} says which frame's display to ask about; if @var{frame} is omitted or @@ -1777,7 +1773,6 @@ and that name is still supported as an alias. @end defun @defun defined-colors &optional frame -@tindex defined-colors This function returns a list of the color names that are defined and supported on frame @var{frame} (default, the selected frame). If @var{frame} does not support colors, the value is @code{nil}. @@ -1788,7 +1783,6 @@ and that name is still supported as an alias. @end defun @defun color-supported-p color &optional frame background-p -@tindex color-supported-p This returns @code{t} if @var{frame} can really display the color @var{color} (or at least something close to it). If @var{frame} is omitted or @code{nil}, the question applies to the selected frame. @@ -1802,7 +1796,6 @@ The argument @var{color} must be a valid color name. @end defun @defun color-gray-p color &optional frame -@tindex color-gray-p This returns @code{t} if @var{color} is a shade of gray, as defined on @var{frame}'s display. If @var{frame} is omitted or @code{nil}, the question applies to the selected frame. If @var{color} is not a valid @@ -1810,7 +1803,6 @@ color name, this function returns @code{nil}. @end defun @defun color-values color &optional frame -@tindex color-values @cindex rgb value This function returns a value that describes what @var{color} should ideally look like on @var{frame}. If @var{color} is defined, the @@ -1870,7 +1862,6 @@ selected frame's terminal; @pxref{Input Focus}). At present, though, the @var{frame} argument has no effect. @defun tty-color-define name number &optional rgb frame -@tindex tty-color-define This function associates the color name @var{name} with color number @var{number} on the terminal. @@ -1882,12 +1873,10 @@ Emacs will not know what it looks like. @end defun @defun tty-color-clear &optional frame -@tindex tty-color-clear This function clears the table of defined colors for a text-only terminal. @end defun @defun tty-color-alist &optional frame -@tindex tty-color-alist This function returns an alist recording the known colors supported by a text-only terminal. @@ -1899,7 +1888,6 @@ and blue) that says what the color actually looks like. @end defun @defun tty-color-approximate rgb &optional frame -@tindex tty-color-approximate This function finds the closest color, among the known colors supported for @var{display}, to that described by the rgb value @var{rgb} (a list of color values). The return value is an element of @@ -1907,7 +1895,6 @@ supported for @var{display}, to that described by the rgb value @end defun @defun tty-color-translate color &optional frame -@tindex tty-color-translate This function finds the closest color to @var{color} among the known colors supported for @var{display} and returns its index (an integer). If the name @var{color} is not defined, the value is @code{nil}. @@ -1989,7 +1976,6 @@ refers to the selected frame's display, @pxref{Input Focus}). obtain information about displays. @defun display-popup-menus-p &optional display -@tindex display-popup-menus-p This function returns @code{t} if popup menus are supported on @var{display}, @code{nil} if not. Support for popup menus requires that the mouse be available, since the user cannot choose menu items without @@ -1997,7 +1983,6 @@ a mouse. @end defun @defun display-graphic-p &optional display -@tindex display-graphic-p @cindex frames, more than one on display @cindex fonts, more than one on display This function returns @code{t} if @var{display} is a graphic display @@ -2007,14 +1992,12 @@ false for text-only terminals. @end defun @defun display-mouse-p &optional display -@tindex display-mouse-p @cindex mouse, availability This function returns @code{t} if @var{display} has a mouse available, @code{nil} if not. @end defun @defun display-color-p &optional display -@tindex display-color-p @findex x-display-color-p This function returns @code{t} if the screen is a color screen. It used to be called @code{x-display-color-p}, and that name @@ -2022,14 +2005,12 @@ is still supported as an alias. @end defun @defun display-grayscale-p &optional display -@tindex display-grayscale-p This function returns @code{t} if the screen can display shades of gray. (All color displays can do this.) @end defun @defun display-supports-face-attributes-p attributes &optional display @anchor{Display Face Attribute Testing} -@tindex display-supports-face-attributes-p This function returns non-@code{nil} if all the face attributes in @var{attributes} are supported (@pxref{Face Attributes}). @@ -2055,7 +2036,6 @@ italic. @end defun @defun display-selections-p &optional display -@tindex display-selections-p This function returns @code{t} if @var{display} supports selections. Windowed displays normally support selections, but they may also be supported in some other cases. @@ -2069,36 +2049,30 @@ images, Emacs cannot display a tool bar. @end defun @defun display-screens &optional display -@tindex display-screens This function returns the number of screens associated with the display. @end defun @defun display-pixel-height &optional display -@tindex display-pixel-height This function returns the height of the screen in pixels. On a character terminal, it gives the height in characters. @end defun @defun display-mm-height &optional display -@tindex display-mm-height This function returns the height of the screen in millimeters, or @code{nil} if Emacs cannot get that information. @end defun @defun display-pixel-width &optional display -@tindex display-pixel-width This function returns the width of the screen in pixels. On a character terminal, it gives the width in characters. @end defun @defun display-mm-width &optional display -@tindex display-mm-width This function returns the width of the screen in millimeters, or @code{nil} if Emacs cannot get that information. @end defun @defun display-backing-store &optional display -@tindex display-backing-store This function returns the backing store capability of the display. Backing store means recording the pixels of windows (and parts of windows) that are not exposed, so that when exposed they can be @@ -2110,7 +2084,6 @@ when the question is inapplicable to a certain kind of display. @end defun @defun display-save-under &optional display -@tindex display-save-under This function returns non-@code{nil} if the display supports the SaveUnder feature. That feature is used by pop-up windows to save the pixels they obscure, so that they can pop down @@ -2118,14 +2091,12 @@ quickly. @end defun @defun display-planes &optional display -@tindex display-planes This function returns the number of planes the display supports. This is typically the number of bits per pixel. For a tty display, it is log to base two of the number of colors supported. @end defun @defun display-visual-class &optional display -@tindex display-visual-class This function returns the visual class for the screen. The value is one of the symbols @code{static-gray}, @code{gray-scale}, @code{static-color}, @code{pseudo-color}, @code{true-color}, and @@ -2133,7 +2104,6 @@ of the symbols @code{static-gray}, @code{gray-scale}, @end defun @defun display-color-cells &optional display -@tindex display-color-cells This function returns the number of color cells the screen supports. @end defun From 00c44593e73ad3fa1ba6629344bfe977682839e2 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:10:36 +0000 Subject: [PATCH 057/336] (Visiting Functions, File Name Components, Unique File Names, Contents of Directories): REmove @tindex. --- lispref/files.texi | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lispref/files.texi b/lispref/files.texi index 84e4252824b..dbcf37b5c8d 100644 --- a/lispref/files.texi +++ b/lispref/files.texi @@ -194,7 +194,6 @@ When @code{view-file} is called interactively, it prompts for @var{filename}. @end deffn -@tindex find-file-wildcards @defopt find-file-wildcards If this variable is non-@code{nil}, then the various @code{find-file} commands check for wildcard characters and visit all the files that @@ -1728,7 +1727,6 @@ not an extension. Andrew Innes says that this @c @defvar directory-sep-char -@c @tindex directory-sep-char This variable holds the character that Emacs normally uses to separate file name components. The default value is @code{?/}, but on MS-Windows you can set it to @code{?\\}; then the functions that transform file names @@ -2098,7 +2096,6 @@ The job of @code{make-temp-file} is to prevent two different users or two different jobs from trying to use the exact same file name. @defun make-temp-file prefix &optional dir-flag suffix -@tindex make-temp-file This function creates a temporary file and returns its name. Emacs creates the temporary file's name by adding to @var{prefix} some random characters that are different in each Emacs job. The result is @@ -2181,7 +2178,6 @@ should use @code{small-temporary-file-directory} first if that is non-@code{nil}. @end defvar -@tindex small-temporary-file-directory @defvar small-temporary-file-directory This variable specifies the directory name for creating certain temporary files, which are likely to be small. @@ -2403,7 +2399,6 @@ This function returns a list of all versions of the file named @var{file} in directory @var{dirname}. It is only available on VMS. @end defun -@tindex file-expand-wildcards @defun file-expand-wildcards pattern &optional full This function expands the wildcard pattern @var{pattern}, returning a list of file names that match it. From 986ce8de186642c85dd078df4e780df1309086e2 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:11:49 +0000 Subject: [PATCH 058/336] (Forcing Redisplay, Displaying Messages, Temporary Displays, Font Selection, Auto Faces, Font Lookup, Fringe Indicators, Display Margins, Image Descriptors, Showing Images, Image Cache, Button Types, Making Buttons, Manipulating Buttons, Button Buffer Commands, Display Table Format, Glyphs): Remove @tindex. --- lispref/display.texi | 59 +------------------------------------------- 1 file changed, 1 insertion(+), 58 deletions(-) diff --git a/lispref/display.texi b/lispref/display.texi index b99a6f4f553..641511fe66e 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -94,7 +94,6 @@ at all if input is available before it starts. Most of the time, this is exactly what you want. However, you can prevent preemption by binding @code{redisplay-dont-pause} to a non-@code{nil} value. -@tindex redisplay-preemption-period @defvar redisplay-preemption-period This variable specifies how many seconds Emacs waits between checks for new input during redisplay. (The default is 0.1 seconds.) If @@ -108,14 +107,13 @@ redisplay, and redisplay cannot be preempted by input. with support for sub-second timers. @end defvar -@tindex redisplay-dont-pause @defvar redisplay-dont-pause If this variable is non-@code{nil}, pending input does not prevent or halt redisplay; redisplay occurs, and finishes, regardless of whether input is available. @end defvar -@tindex sit-for +@findex sit-for You can request a display update, but only if no input is pending, with @code{(sit-for 0)}. To force a display update even when input is pending, use @code{(sit-for -1)}. @@ -257,7 +255,6 @@ To automatically display a message in the echo area or in a pop-buffer, depending on its size, use @code{display-message-or-buffer} (see below). @end defun -@tindex with-temp-message @defmac with-temp-message message &rest body This construct displays a message in the echo area temporarily, during the execution of @var{body}. It displays @var{message}, executes @@ -288,7 +285,6 @@ support them, then @code{message-box} uses the echo area, like @end defun @defun display-message-or-buffer message &optional buffer-name not-this-window frame -@tindex display-message-or-buffer This function displays the message @var{message}, which may be either a string or a buffer. If it is shorter than the maximum height of the echo area, as defined by @code{max-mini-window-height}, it is displayed @@ -1027,7 +1023,6 @@ selected. @end defvar @defvar temp-buffer-setup-hook -@tindex temp-buffer-setup-hook This normal hook is run by @code{with-output-to-temp-buffer} before evaluating @var{body}. When the hook runs, the temporary buffer is current. This hook is normally set up with a function to put the @@ -2055,7 +2050,6 @@ functions. If you specify @var{frame}, they affect just that frame; otherwise, they affect all frames as well as the defaults that apply to new frames. -@tindex set-face-attribute @defun set-face-attribute face frame &rest arguments This function sets one or more attributes of face @var{face} for frame @var{frame}. If @var{frame} is @code{nil}, it sets @@ -2078,7 +2072,6 @@ sets the attributes @code{:width}, @code{:weight} and @code{:underline} to the corresponding values. @end defun -@tindex face-attribute @defun face-attribute face attribute &optional frame inherit This returns the value of the @var{attribute} attribute of face @var{face} on @var{frame}. If @var{frame} is @code{nil}, @@ -2114,7 +2107,6 @@ For example, with older Emacs versions, you can use the following functions to set and examine the face attributes which existed in those versions. -@tindex face-attribute-relative-p @defun face-attribute-relative-p attribute value This function returns non-@code{nil} if @var{value}, when used as the value of the face attribute @var{attribute}, is relative. This means @@ -2134,7 +2126,6 @@ For example: prompts with @samp{Describe face (default = `default' face): }. @end defun -@tindex merge-face-attribute @defun merge-face-attribute attribute value1 value2 If @var{value1} is a relative value for the face attribute @var{attribute}, returns it merged with the underlying value @@ -2323,7 +2314,6 @@ not available, you can specify a set of mappings for alternatives to try. @defvar face-font-selection-order -@tindex face-font-selection-order This variable specifies the order of importance of the face attributes @code{:width}, @code{:height}, @code{:weight}, and @code{:slant}. The value should be a list containing those four symbols, in order of @@ -2353,7 +2343,6 @@ quite right. @end defvar @defvar face-font-family-alternatives -@tindex face-font-family-alternatives This variable lets you specify alternative font families to try, if a given family is specified and doesn't exist. Each element should have this form: @@ -2368,7 +2357,6 @@ family that does exist. @end defvar @defvar face-font-registry-alternatives -@tindex face-font-registry-alternatives This variable lets you specify alternative font registries to try, if a given registry is specified and doesn't exist. Each element should have this form: @@ -2387,7 +2375,6 @@ them, since the use of too many or too big scalable fonts can crash XFree86 servers. @defvar scalable-fonts-allowed -@tindex scalable-fonts-allowed This variable controls which scalable fonts to use. A value of @code{nil}, the default, means do not use scalable fonts. @code{t} means to use any scalable font that seems appropriate for the text. @@ -2488,7 +2475,6 @@ makes @code{modeline} an alias for the @code{mode-line} face. This hook is used for automatically assigning faces to text in the buffer. It is part of the implementation of Font-Lock mode. -@tindex fontification-functions @defvar fontification-functions This variable holds a list of functions that are called by Emacs redisplay as needed to assign faces automatically to text in the buffer. @@ -2538,7 +2524,6 @@ many fonts match the pattern. @end defun @defun x-family-fonts &optional family frame -@tindex x-family-fonts This function returns a list describing the available fonts for family @var{family} on @var{frame}. If @var{family} is omitted or @code{nil}, this list applies to all families, and therefore, it contains all @@ -2569,7 +2554,6 @@ The result list is sorted according to the current face font sort order. @end defun @defun x-font-family-list &optional frame -@tindex x-font-family-list This function returns a list of the font families available for @var{frame}'s display. If @var{frame} is omitted or @code{nil}, it describes the selected frame's display (@pxref{Input Focus}). @@ -2586,7 +2570,6 @@ non-@code{nil} if fonts of that family are fixed-pitch. @end defun @defvar font-list-limit -@tindex font-list-limit This variable specifies maximum number of fonts to consider in font matching. The function @code{x-family-fonts} will not return more than that many fonts, and font selection will consider only that many fonts @@ -2803,7 +2786,6 @@ window fringe (on a graphic display) to indicate truncated or continued lines, buffer boundaries, overlay arrow, etc. @defopt indicate-empty-lines -@tindex indicate-empty-lines @cindex fringes, and empty line indication When this is non-@code{nil}, Emacs displays a special glyph in the fringe of each empty line at the end of the buffer, on graphical @@ -3533,13 +3515,11 @@ them a nonzero width. The usual way to do that is to set these variables: @defvar left-margin-width -@tindex left-margin-width This variable specifies the width of the left margin. It is buffer-local in all buffers. @end defvar @defvar right-margin-width -@tindex right-margin-width This variable specifies the width of the right margin. It is buffer-local in all buffers. @end defvar @@ -3552,14 +3532,12 @@ Thus, you can make changes take effect by calling You can also set the margin widths immediately. @defun set-window-margins window left &optional right -@tindex set-window-margins This function specifies the margin widths for window @var{window}. The argument @var{left} controls the left margin and @var{right} controls the right margin (default @code{0}). @end defun @defun window-margins &optional window -@tindex window-margins This function returns the left and right margins of @var{window} as a cons cell of the form @code{(@var{left} . @var{right})}. If @var{window} is @code{nil}, the selected window is used. @@ -3842,7 +3820,6 @@ mouse event; for instance, @code{[area4 mouse-1]} if the hot-spot's @end table @defun image-mask-p spec &optional frame -@tindex image-mask-p This function returns @code{t} if image @var{spec} has a mask bitmap. @var{frame} is the frame on which the image will be displayed. @var{frame} @code{nil} or omitted means to use the selected frame @@ -4026,7 +4003,6 @@ background color. @code{find-image} provide convenient ways to create image descriptors. @defun create-image file-or-data &optional type data-p &rest props -@tindex create-image This function creates and returns an image descriptor which uses the data in @var{file-or-data}. @var{file-or-data} can be a file name or a string containing the image data; @var{data-p} should be @code{nil} @@ -4049,7 +4025,6 @@ supported. Otherwise it returns an image descriptor. @end defun @defmac defimage symbol specs &optional doc -@tindex defimage This macro defines @var{symbol} as an image name. The arguments @var{specs} is a list which specifies how to display the image. The third argument, @var{doc}, is an optional documentation string. @@ -4078,7 +4053,6 @@ as @code{nil}. @end defmac @defun find-image specs -@tindex find-image This function provides a convenient way to find an image satisfying one of a list of image specifications @var{specs}. @@ -4096,7 +4070,6 @@ The image is looked for in @code{image-load-path}. @end defun @defvar image-load-path -@tindex image-load-path This variable's value is a list of locations in which to search for image files. If an element is a string or a variable symbol whose value is a string, the string is taken to be the name of a directory @@ -4118,7 +4091,6 @@ should specify the image as follows: @end defvar @defun image-load-path-for-library library image &optional path no-error -@tindex image-load-path-for-library This function returns a suitable search path for images used by the Lisp package @var{library}. @@ -4225,7 +4197,6 @@ This removes only images that were put into @var{buffer} the way @end defun @defun image-size spec &optional pixels frame -@tindex image-size This function returns the size of an image as a pair @w{@code{(@var{width} . @var{height})}}. @var{spec} is an image specification. @var{pixels} non-@code{nil} means return sizes @@ -4237,7 +4208,6 @@ Focus}). @end defun @defvar max-image-size -@tindex max-image-size This variable is used to define the maximum size of image that Emacs will load. Emacs will refuse to load (and display) any image that is larger than this limit. @@ -4267,7 +4237,6 @@ with cached image specifications using @code{equal}. This means that all images with equal specifications share the same image in the cache. @defvar image-cache-eviction-delay -@tindex image-cache-eviction-delay This variable specifies the number of seconds an image can remain in the cache without being displayed. When an image is not displayed for this length of time, Emacs removes it from the image cache. @@ -4278,7 +4247,6 @@ debugging. @end defvar @defun clear-image-cache &optional frame -@tindex clear-image-cache This function clears the image cache. If @var{frame} is non-@code{nil}, only the cache for that frame is cleared. Otherwise all frames' caches are cleared. @@ -4400,7 +4368,6 @@ so that it's easy to define special-purpose types of buttons for specific tasks. @defun define-button-type name &rest properties -@tindex define-button-type Define a `button type' called @var{name}. The remaining arguments form a sequence of @var{property value} pairs, specifying default property values for buttons with this type (a button's type may be set @@ -4449,13 +4416,11 @@ defines such a property). (@pxref{Overlays}) to hold the button properties: @defun make-button beg end &rest properties -@tindex make-button This makes a button from @var{beg} to @var{end} in the current buffer, and returns it. @end defun @defun insert-button label &rest properties -@tindex insert-button This insert a button with the label @var{label} at point, and returns it. @end defun @@ -4469,13 +4434,11 @@ numbers of buttons. Both functions return the position of the start of the new button: @defun make-text-button beg end &rest properties -@tindex make-text-button This makes a button from @var{beg} to @var{end} in the current buffer, using text properties. @end defun @defun insert-text-button label &rest properties -@tindex insert-text-button This inserts a button with the label @var{label} at point, using text properties. @end defun @@ -4495,27 +4458,22 @@ Such an object is passed as the first argument to a button's invocation function when it is invoked. @defun button-start button -@tindex button-start Return the position at which @var{button} starts. @end defun @defun button-end button -@tindex button-end Return the position at which @var{button} ends. @end defun @defun button-get button prop -@tindex button-get Get the property of button @var{button} named @var{prop}. @end defun @defun button-put button prop val -@tindex button-put Set @var{button}'s @var{prop} property to @var{val}. @end defun @defun button-activate button &optional use-mouse-action -@tindex button-activate Call @var{button}'s @code{action} property (i.e., invoke it). If @var{use-mouse-action} is non-@code{nil}, try to invoke the button's @code{mouse-action} property instead of @code{action}; if the button @@ -4523,38 +4481,31 @@ has no @code{mouse-action} property, use @code{action} as normal. @end defun @defun button-label button -@tindex button-label Return @var{button}'s text label. @end defun @defun button-type button -@tindex button-type Return @var{button}'s button-type. @end defun @defun button-has-type-p button type -@tindex button-has-type-p Return @code{t} if @var{button} has button-type @var{type}, or one of @var{type}'s subtypes. @end defun @defun button-at pos -@tindex button-at Return the button at position @var{pos} in the current buffer, or @code{nil}. @end defun @defun button-type-put type prop val -@tindex button-type-put Set the button-type @var{type}'s @var{prop} property to @var{val}. @end defun @defun button-type-get type prop -@tindex button-type-get Get the property of button-type @var{type} named @var{prop}. @end defun @defun button-type-subtype-p type supertype -@tindex button-type-subtype-p Return @code{t} if button-type @var{type} is a subtype of @var{supertype}. @end defun @@ -4580,7 +4531,6 @@ will also activate the @code{push-button} command. @xref{Links and Mouse-1}. @deffn Command push-button &optional pos use-mouse-action -@tindex push-button Perform the action specified by a button at location @var{pos}. @var{pos} may be either a buffer position or a mouse-event. If @var{use-mouse-action} is non-@code{nil}, or @var{pos} is a @@ -4594,7 +4544,6 @@ nothing and return @code{nil}, otherwise return @code{t}. @end deffn @deffn Command forward-button n &optional wrap display-message -@tindex forward-button Move to the @var{n}th next button, or @var{n}th previous button if @var{n} is negative. If @var{n} is zero, move to the start of any button at point. If @var{wrap} is non-@code{nil}, moving past either @@ -4605,7 +4554,6 @@ is skipped over. Returns the button found. @end deffn @deffn Command backward-button n &optional wrap display-message -@tindex backward-button Move to the @var{n}th previous button, or @var{n}th next button if @var{n} is negative. If @var{n} is zero, move to the start of any button at point. If @var{wrap} is non-@code{nil}, moving past either @@ -4616,14 +4564,12 @@ is skipped over. Returns the button found. @end deffn @defun next-button pos &optional count-current -@tindex next-button Return the next button after position @var{pos} in the current buffer. If @var{count-current} is non-@code{nil}, count any button at @var{pos} in the search, instead of starting at the next button. @end defun @defun previous-button pos &optional count-current -@tindex previous-button Return the @var{n}th button before position @var{pos} in the current buffer. If @var{count-current} is non-@code{nil}, count any button at @var{pos} in the search, instead of starting at the next button. @@ -5216,13 +5162,11 @@ This function stores @var{value} in the extra slot @var{slot} of @end defun @defun describe-display-table display-table -@tindex describe-display-table This function displays a description of the display table @var{display-table} in a help buffer. @end defun @deffn Command describe-current-display-table -@tindex describe-current-display-table This command displays a description of the current display table in a help buffer. @end deffn @@ -5328,7 +5272,6 @@ This glyph is simple. @end table @defun create-glyph string -@tindex create-glyph This function returns a newly-allocated glyph code which is set up to display by sending @var{string} to the terminal. @end defun From 4faa0e04256ce959954a1a3806e32ea0b112e53d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:12:14 +0000 Subject: [PATCH 059/336] (Iteration): Remove @tindex. --- lispref/control.texi | 2 -- 1 file changed, 2 deletions(-) diff --git a/lispref/control.texi b/lispref/control.texi index b6df04810b7..d64b03037d6 100644 --- a/lispref/control.texi +++ b/lispref/control.texi @@ -475,7 +475,6 @@ body, just the end test (which also does the real work of moving point). write two common kinds of loops. @defmac dolist (var list [result]) body@dots{} -@tindex dolist This construct executes @var{body} once for each element of @var{list}, binding the variable @var{var} locally to hold the current element. Then it returns the value of evaluating @var{result}, or @@ -491,7 +490,6 @@ could use @code{dolist} to define the @code{reverse} function: @end defmac @defmac dotimes (var count [result]) body@dots{} -@tindex dotimes This construct executes @var{body} once for each integer from 0 (inclusive) to @var{count} (exclusive), binding the variable @var{var} to the integer for the current iteration. Then it returns the value From 120645374cdf9629c8dacdf4151c5bebfc2b6d4b Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:12:43 +0000 Subject: [PATCH 060/336] (Command Loop Info, Adjusting Point): Remove @tindex. --- lispref/commands.texi | 3 --- 1 file changed, 3 deletions(-) diff --git a/lispref/commands.texi b/lispref/commands.texi index e494d0dfc5a..c56ecf41faa 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi @@ -809,7 +809,6 @@ in a vector, so you don't need to deal with the complexities of storing input events in a string (@pxref{Strings of Events}). @end defun -@tindex clear-this-command-keys @defun clear-this-command-keys &optional keep-record This function empties out the table of events for @code{this-command-keys} to return. Unless @var{keep-record} is @@ -875,7 +874,6 @@ the sequence. @code{disable-point-adjustment}: @defvar disable-point-adjustment -@tindex disable-point-adjustment If this variable is non-@code{nil} when a command returns to the command loop, then the command loop does not check for those text properties, and does not move point out of sequences that have them. @@ -885,7 +883,6 @@ so if a command sets it, the effect applies only to that command. @end defvar @defvar global-disable-point-adjustment -@tindex global-disable-point-adjustment If you set this variable to a non-@code{nil} value, the feature of moving point out of these sequences is completely turned off. @end defvar From e7176868e06466fc6200fa4176c680ec88496020 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:13:14 +0000 Subject: [PATCH 061/336] (Making Backups, Auto-Saving): Remove @tindex entries. --- lispref/backups.texi | 3 --- 1 file changed, 3 deletions(-) diff --git a/lispref/backups.texi b/lispref/backups.texi index 39e3d908f7e..549c5f6c62c 100644 --- a/lispref/backups.texi +++ b/lispref/backups.texi @@ -122,7 +122,6 @@ its value. Major modes should not set this variable---they should set @end defvar @defvar backup-directory-alist -@tindex backup-directory-alist This variable's value is an alist of filename patterns and backup directory names. Each element looks like @smallexample @@ -150,7 +149,6 @@ ignored. @end defvar @defvar make-backup-file-name-function -@tindex make-backup-file-name-function This variable's value is a function to use for making backups instead of the default @code{make-backup-file-name}. A value of @code{nil} gives the default @code{make-backup-file-name} behavior. @@ -654,7 +652,6 @@ host name. @end defvar @defvar auto-save-list-file-prefix -@tindex auto-save-list-file-prefix After Emacs reads your init file, it initializes @code{auto-save-list-file-name} (if you have not already set it non-@code{nil}) based on this prefix, adding the host name and process From a210f8e62103a0a96ca926abe0c104a60ba2263e Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:27:20 +0000 Subject: [PATCH 062/336] (Windows Keyboard) [@iftex]: Add an @inforef to the on-line manual for the rest of this node. (Windows Mouse) : Include unconditionally. (Windows Processes) : Include unconditionally. Improve wording. (Windows Printing): Improve wording. (Windows Misc) [@iftex]: Add an @inforef to the on-line manual for the rest of this node. --- man/msdog.texi | 48 ++++++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/man/msdog.texi b/man/msdog.texi index 514f95bd78e..88fdb4b6b9a 100644 --- a/man/msdog.texi +++ b/man/msdog.texi @@ -339,6 +339,10 @@ makes it possible to use the menus without a mouse. In this mode, the arrow keys traverse the menus, @key{RET} selects a highlighted menu item, and @key{ESC} closes the menu. +@iftex +@inforef{Windows Keyboard, , emacs}, for information about additional +Windows-specific variables in this category. +@end iftex @ifnottex @vindex w32-alt-is-meta @cindex @code{Alt} key (MS-Windows) @@ -443,12 +447,10 @@ on 2-button mice. If both mouse buttons are depressed within this time interval, Emacs generates a middle mouse button click event instead of a double click on one of the buttons. -@ifnottex @vindex w32-pass-extra-mouse-buttons-to-system If the variable @code{w32-pass-extra-mouse-buttons-to-system} is non-@code{nil}, Emacs passes the fourth and fifth mouse buttons to Windows. -@end ifnottex @vindex w32-swap-mouse-buttons The variable @code{w32-swap-mouse-buttons} controls which of the 3 @@ -509,15 +511,12 @@ system. Instead, type @kbd{CTL-ALT-@key{DEL}} and then choose @code{Shutdown}. That usually works, although it may take a few minutes to do its job. -@ifnottex @vindex w32-quote-process-args - The variable @code{w32-quote-process-args} controls how the process -arguments are quoted. If it is non-@code{nil} means they are quoted -with the @code{"} character. If the value is a character, that -character will be used to escape any quote characters that appear; -otherwise a suitable escape character will be chosen based on the type -of the program. -@end ifnottex + The variable @code{w32-quote-process-args} controls how Emacs quotes +the process arguments. Non-@code{nil} means quote with the @code{"} +character. If the value is a character, use that character to escape +any quote characters that appear; otherwise chose a suitable escape +character based on the type of the program. @node Windows Printing @section Printing and MS-Windows @@ -587,8 +586,8 @@ was done. If the value of @code{printer-name} is correct, but printing does not produce the hardcopy on your printer, it is possible that your printer does not support printing plain text (some cheap printers omit -this functionality). In that case, as a workaround, try the -PostScript print commands, described below, to the same printer +this functionality). In that case, try the PostScript print commands, +described below. @findex print-buffer @r{(MS-DOS)} @findex print-region @r{(MS-DOS)} @@ -669,6 +668,21 @@ printer, put this in your @file{.emacs} file: This section describes miscellaneous Windows-specific features. +@vindex w32-use-visible-system-caret +@cindex screen reader software, MS-Windows + The variable @code{w32-use-visible-system-caret} is a flag that +determines whether to make the system caret visible. The default is +@code{nil}, which means Emacs draws its own cursor to indicate the +position of point. A non-@code{nil} value means Emacs will indicate +point location by the system caret; this facilitates use of screen +reader software. When this variable is non-@code{nil}, other +variables affecting the cursor display have no effect. + +@iftex +@inforef{Windows Misc, , emacs}, for information about additional +Windows-specific variables in this category. +@end iftex + @ifnottex @vindex w32-grab-focus-on-raise @cindex frame focus policy, MS-Windows @@ -684,16 +698,6 @@ value is non-@code{nil}, these fonts will be included. The default is @code{nil}. @end ifnottex -@vindex w32-use-visible-system-caret -@cindex screen reader software, MS-Windows - The variable @code{w32-use-visible-system-caret} is a flag that -determines whether to make the system caret visible. The default is -@code{nil}, which means Emacs draws its own cursor to indicate the -position of point. A non-@code{nil} value means Emacs will indicate -point location by the system caret; this facilitates use of screen -reader software. When this variable is non-@code{nil}, other -variables affecting the cursor display have no effect. - @ifnottex @include msdog-xtra.texi @end ifnottex From 89fb9154901ec4b5633455c7d6064074106e4688 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Jul 2006 18:27:47 +0000 Subject: [PATCH 063/336] *** empty log message *** --- lispref/ChangeLog | 39 +++++++++++++++++++++++++++++++++++++++ man/ChangeLog | 12 ++++++++++++ 2 files changed, 51 insertions(+) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index b652d95e7ae..f40e6d87f9c 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,42 @@ +2006-07-08 Eli Zaretskii + + * windows.texi (Textual Scrolling, Resizing Windows): + * variables.texi (Constant Variables): + * text.texi (Buffer Contents, Deletion, Changing Properties) + (Property Search, Special Properties, Sticky Properties) + (Links and Mouse-1, Fields, Change Hooks): + * syntax.texi (Syntax Table Functions, Parsing Expressions) + (Categories): + * symbols.texi (Other Plists): + * streams.texi (Output Variables): + * processes.texi (Input to Processes, Query Before Exit): + * positions.texi (Word Motion, Text Lines, List Motion): + * os.texi (Init File, System Environment, Sound Output) + (Session Management): + * nonascii.texi (Text Representations, Character Sets) + (Chars and Bytes, Locales): + * modes.texi (Defining Minor Modes, Header Lines): + * minibuf.texi (Minibuffer Contents): + * markers.texi (Information from Markers): + * lists.texi (List Elements, Building Lists, Association Lists): + * keymaps.texi (Tool Bar): + * hash.texi (Creating Hash, Hash Access, Defining Hash, Other Hash): + * functions.texi (What Is a Function, Mapping Functions): + * frames.texi (Creating Frames, Parameter Access, Pointer Shape) + (Color Names, Text Terminal Colors, Display Feature Testing): + * files.texi (Visiting Functions, File Name Components) + (Unique File Names, Contents of Directories): + * display.texi (Forcing Redisplay, Displaying Messages) + (Temporary Displays, Font Selection, Auto Faces) + (Font Lookup, Fringe Indicators, Display Margins) + (Image Descriptors, Showing Images, Image Cache, Button Types) + (Making Buttons, Manipulating Buttons, Button Buffer Commands) + (Display Table Format, Glyphs): + * control.texi (Iteration): + * commands.texi (Command Loop Info, Adjusting Point): + * backups.texi (Making Backups, Auto-Saving): Remove @tindex + entries. + 2006-07-07 Kim F. Storm * display.texi (Fringe Cursors): Fix typo. diff --git a/man/ChangeLog b/man/ChangeLog index 0ce0d63db06..1b0b7d51e02 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,15 @@ +2006-07-08 Eli Zaretskii + + * msdog.texi (Windows Keyboard) [@iftex]: Add an @inforef to the + on-line manual for the rest of this node. + (Windows Mouse) : Include + unconditionally. + (Windows Processes) : Include unconditionally. + Improve wording. + (Windows Printing): Improve wording. + (Windows Misc) [@iftex]: Add an @inforef to the on-line manual for the + rest of this node. + 2006-07-07 Carsten Dominik * org.texi (Exporting): Document `C-c C-e' as the prefix for exporting From 8c9676fb6da613e472b64d86027f5df1cde34ef9 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Sat, 8 Jul 2006 19:36:24 +0000 Subject: [PATCH 064/336] Suggest consolidation with user customization when the system default of a customized variable changes. --- etc/ChangeLog | 5 +++++ etc/TODO | 15 +++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/etc/ChangeLog b/etc/ChangeLog index 676e09a73f9..613ff0a095f 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,8 @@ +2006-07-08 David Kastrup + + * TODO: Suggest consolidation with user customization when the + system default of a customized variable changes. + 2006-07-08 Thien-Thi Nguyen * compilation.txt: Add an example "Compilation started ..." line. diff --git a/etc/TODO b/etc/TODO index c636d7dd7a8..02edc2671a7 100644 --- a/etc/TODO +++ b/etc/TODO @@ -171,11 +171,18 @@ typically due to pilot errors and should thus be in debug-ignored-errors. to save their changes. If the user says yes, show them in a Custom buffer using customize-customized. +** Record the sxhash of the default value for customized variables + and notify the user (maybe by adding a menu item or toolbar button, + as the detection can occur during autoload time) when the default + changes (meaning that new versions of the Lisp source with a changed + default value got installed) and offer ediff on the respective + customization buffers. + ** Emacs Lisp mode could put an overlay on the defun for every - function that has advice. The overlay could have `after-text' like " - [Function has advice]". It might look like - (defun foo [Function has advice] (x y) - The overlay could also be a button that you could use to view the advice. + function that has advice. The overlay could have `after-text' like + " [Function has advice]". It might look like (defun foo [Function + has advice] (x y) The overlay could also be a button that you could + use to view the advice. ** ange-ftp *** understand sftp From 5a1048a5480471aaf16e1ba397f584fc45d078d0 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Sat, 8 Jul 2006 22:28:49 +0000 Subject: [PATCH 065/336] (Fforce_window_update): Doc fix. --- lispref/ChangeLog | 47 ++++++++++++++++++++++++++--------------------- src/window.c | 2 +- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index f40e6d87f9c..bb9ce1b0012 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,39 +1,44 @@ +2006-07-09 Kim F. Storm + + * display.texi (Refresh Screen): Clarify force-window-update. + (Truncation): "Normally" indicated by fringe arrows. + 2006-07-08 Eli Zaretskii - * windows.texi (Textual Scrolling, Resizing Windows): - * variables.texi (Constant Variables): + * windows.texi (Textual Scrolling, Resizing Windows): + * variables.texi (Constant Variables): * text.texi (Buffer Contents, Deletion, Changing Properties) (Property Search, Special Properties, Sticky Properties) - (Links and Mouse-1, Fields, Change Hooks): + (Links and Mouse-1, Fields, Change Hooks): * syntax.texi (Syntax Table Functions, Parsing Expressions) - (Categories): - * symbols.texi (Other Plists): - * streams.texi (Output Variables): - * processes.texi (Input to Processes, Query Before Exit): - * positions.texi (Word Motion, Text Lines, List Motion): + (Categories): + * symbols.texi (Other Plists): + * streams.texi (Output Variables): + * processes.texi (Input to Processes, Query Before Exit): + * positions.texi (Word Motion, Text Lines, List Motion): * os.texi (Init File, System Environment, Sound Output) - (Session Management): + (Session Management): * nonascii.texi (Text Representations, Character Sets) - (Chars and Bytes, Locales): - * modes.texi (Defining Minor Modes, Header Lines): - * minibuf.texi (Minibuffer Contents): - * markers.texi (Information from Markers): - * lists.texi (List Elements, Building Lists, Association Lists): - * keymaps.texi (Tool Bar): - * hash.texi (Creating Hash, Hash Access, Defining Hash, Other Hash): - * functions.texi (What Is a Function, Mapping Functions): + (Chars and Bytes, Locales): + * modes.texi (Defining Minor Modes, Header Lines): + * minibuf.texi (Minibuffer Contents): + * markers.texi (Information from Markers): + * lists.texi (List Elements, Building Lists, Association Lists): + * keymaps.texi (Tool Bar): + * hash.texi (Creating Hash, Hash Access, Defining Hash, Other Hash): + * functions.texi (What Is a Function, Mapping Functions): * frames.texi (Creating Frames, Parameter Access, Pointer Shape) (Color Names, Text Terminal Colors, Display Feature Testing): * files.texi (Visiting Functions, File Name Components) - (Unique File Names, Contents of Directories): + (Unique File Names, Contents of Directories): * display.texi (Forcing Redisplay, Displaying Messages) (Temporary Displays, Font Selection, Auto Faces) (Font Lookup, Fringe Indicators, Display Margins) (Image Descriptors, Showing Images, Image Cache, Button Types) (Making Buttons, Manipulating Buttons, Button Buffer Commands) - (Display Table Format, Glyphs): - * control.texi (Iteration): - * commands.texi (Command Loop Info, Adjusting Point): + (Display Table Format, Glyphs): + * control.texi (Iteration): + * commands.texi (Command Loop Info, Adjusting Point): * backups.texi (Making Backups, Auto-Saving): Remove @tindex entries. diff --git a/src/window.c b/src/window.c index 69643ec669a..c68c67c0afa 100644 --- a/src/window.c +++ b/src/window.c @@ -3676,7 +3676,7 @@ displayed. */) DEFUN ("force-window-update", Fforce_window_update, Sforce_window_update, 0, 1, 0, - doc: /* Force redisplay of all windows. + doc: /* Force all windows to be updated on next redisplay. If optional arg OBJECT is a window, force redisplay of that window only. If OBJECT is a buffer or buffer name, force redisplay of all windows displaying that buffer. */) From 2735e1095016ff9eca7470a458a767cff81b2632 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Sat, 8 Jul 2006 22:28:59 +0000 Subject: [PATCH 066/336] (Refresh Screen): Clarify force-window-update. (Truncation): "Normally" indicated by fringe arrows. --- lispref/display.texi | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lispref/display.texi b/lispref/display.texi index 641511fe66e..c57c795e58d 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -59,8 +59,8 @@ This function clears and redisplays all visible frames. redisplay is done, but does not clear them first. @defun force-window-update &optional object -This function forces redisplay of some or all windows. If -@var{object} is a window, it forces redisplay of that window. If +This function forces some or all windows to be updated on next redisplay. +If @var{object} is a window, it forces redisplay of that window. If @var{object} is a buffer or buffer name, it forces redisplay of all windows displaying that buffer. If @var{object} is @code{nil} (or omitted), it forces redisplay of all windows. @@ -128,11 +128,14 @@ pending, use @code{(sit-for -1)}. When a line of text extends beyond the right edge of a window, the line can either be continued on the next screen line, or truncated to one screen line. The additional screen lines used to display a long -text line are called @dfn{continuation} lines. Normally, a @samp{$} in -the rightmost column of the window indicates truncation; a @samp{\} on -the rightmost column indicates a line that ``wraps'' onto the next line, -which is also called @dfn{continuing} the line. (The display table can -specify alternative indicators; see @ref{Display Tables}.) +text line are called @dfn{continuation} lines. Normally, tiny arrow images +are displayed in the window fringes to indicate truncated and continued +lines (*note Fringes). + + On a text terminal, a `$' in the rightmost column of the window +indicates truncation; a `\' on the rightmost column indicates a +continued line that "wraps" onto the next line. (The display table can +specify alternative indicators; see *Note Display Tables.) On a graphical display, the @samp{$} and @samp{\} indicators are replaced with arrow images displayed in the window fringes From 08b17d373d896c51e35a2e16aa273b73088acdfc Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Sat, 8 Jul 2006 22:32:32 +0000 Subject: [PATCH 067/336] *** empty log message *** --- lispref/ChangeLog | 14 +++++++------- src/ChangeLog | 4 ++++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index bb9ce1b0012..2d488c41eae 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -39,8 +39,8 @@ (Display Table Format, Glyphs): * control.texi (Iteration): * commands.texi (Command Loop Info, Adjusting Point): - * backups.texi (Making Backups, Auto-Saving): Remove @tindex - entries. + * backups.texi (Making Backups, Auto-Saving): + Remove @tindex entries. 2006-07-07 Kim F. Storm @@ -65,13 +65,13 @@ 2006-07-05 Karl Berry - * elisp.texi: use @fonttextsize 10pt, a la emacs.texi. - and remove @setchapternewpage odd. + * elisp.texi: Use @fonttextsize 10pt, a la emacs.texi. + Remove @setchapternewpage odd. Result is 1013 pages, down from 1100. - * anti.texi, customize.texi, display.texi, - internals.texi, minibuf.texi, modes.texi tips.texi: - fix overfull/underfull boxes. + * anti.texi, customize.texi, display.texi, internals.texi: + * minibuf.texi, modes.texi, tips.texi: + Fix overfull/underfull boxes. 2006-07-05 Thien-Thi Nguyen diff --git a/src/ChangeLog b/src/ChangeLog index 79a1dab60de..2192ee1faf7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2006-07-09 Kim F. Storm + + * window.c (Fforce_window_update): Doc fix. + 2006-07-08 Stephen Gildea * fileio.c (do_auto_save_make_dir): Make the auto-save-list-file From 2eabd04f290f2c941b9d4b04a3a5457467ab38cf Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Sat, 8 Jul 2006 23:45:09 +0000 Subject: [PATCH 068/336] Use outline format. Add FOR-RELEASE. --- admin/README | 76 +++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 63 insertions(+), 13 deletions(-) diff --git a/admin/README b/admin/README index e5116fcbaa3..008717bcee5 100644 --- a/admin/README +++ b/admin/README @@ -1,21 +1,71 @@ + The admin directory + This directory contains scripts and other things useful for developing and maintaining Emacs. These files are not part of Emacs releases because they are not deemed generally useful, and you have to know what you do when using them. -Brief description of scripts found here: -admin.el utilities for setting version numbers and alike -alloc-color.c a utility program that allocates a given number of - colors on X. Can be used to debug Emacs with - dense colormaps (PseudoColor). -build-configs build Emacs in various configurations -check-doc-strings check doc strings against documentation -cus-test.el tests for custom types and load problems -diff-tar-files show files added/removed between two tar files -make-emacs build Emacs in various ways -make-tarball.txt instructions to create pretest or release tarballs -quick-install-emacs install emacs quickly (`incrementally') -revdiff get CVS diffs of files +* Instructions and scripts used to prepare an Emacs release. + +** FOR-RELEASE + +Living list of activities that must be completed before the next release. + +** make-tarball.txt + +Instructions to create pretest or release tarballs, annoucements, etc. + +** admin.el + +Utilities for setting version numbers and alike. + +** make-announcement, make-changelog-diff + +Scripts used to prepare release announcements. + + +* Scripts that can be used to build and test Emacs. + +** build-configs + +Build Emacs in various configurations. + +** make-emacs + +Build Emacs in various ways. + +** quick-install-emacs + +Install emacs quickly (`incrementally'). + +** alloc-color.c + +A utility program that allocates a given number of colors on X. Can +be used to debug Emacs with dense colormaps (PseudoColor). + +** check-doc-strings + +Check doc strings against documentation. + +** cus-test.el + +Tests for custom types and load problems. + +** diff-tar-files + +Show files added/removed between two tar files. + +** revdiff + +Get CVS diffs of files. + + + + +Local variables: +mode: outline +paragraph-separate: "[ ]*$" +end: # arch-tag: 812b9461-bc0a-46a7-925e-24bd41118463 From 1eca02e716f381cbb725f3017a9d6f4efdcfa3ab Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Sun, 9 Jul 2006 00:22:22 +0000 Subject: [PATCH 069/336] *** empty log message *** --- ChangeLog | 5 +++++ admin/ChangeLog | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 84a07582b3b..24775fe4276 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-07-09 Kim F. Storm + + * CONTRIBUTE: Use outline format. + Add section on copyright years (from admin/notes/years). + 2006-07-08 Eli Zaretskii * configure: Regenerated. diff --git a/admin/ChangeLog b/admin/ChangeLog index 4684e6e5d5e..7519bfcee90 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,7 @@ +2006-07-09 Kim F. Storm + + * README: Use outline format. Add FOR-RELEASE. + 2006-06-27 Chong Yidong * FOR-RELEASE: Checking of info.texi done. From 05230057480fda26723ceef3497235ed0a8d0cca Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Sun, 9 Jul 2006 00:22:37 +0000 Subject: [PATCH 070/336] Use outline format. Add section on copyright years (from admin/notes/years). --- CONTRIBUTE | 216 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 142 insertions(+), 74 deletions(-) diff --git a/CONTRIBUTE b/CONTRIBUTE index 8b69ccd0983..e1fb74c8df6 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE @@ -25,112 +25,180 @@ pages, or develop a package that works with Emacs. Here are some style and legal conventions for contributors to Emacs: -o Coding Standards +* Coding Standards - Contributed code should follow the GNU Coding Standard. - If it doesn't, we'll need to find someone to fix the code - before we can use it. +Contributed code should follow the GNU Coding Standard. - Emacs has certain additional style and coding conventions. +If it doesn't, we'll need to find someone to fix the code before we +can use it. - Ref: http://www.gnu.org/prep/standards_toc.html - Ref: GNU Coding Standards Info Manual +Emacs has certain additional style and coding conventions. + +Ref: http://www.gnu.org/prep/standards_toc.html +Ref: GNU Coding Standards Info Manual +Ref: The "Tips" Appendix in the Emacs Lisp Reference. -o Copyright Assignment +* Copyright Assignment - We can accept small changes without legal papers, and for - medium-size changes a copyright disclaimer is ok too. To - accept substantial contributions from you, we need a copyright - assignment form filled out and filed with the FSF. +We can accept small changes without legal papers, and for medium-size +changes a copyright disclaimer is ok too. To accept substantial +contributions from you, we need a copyright assignment form filled out +and filed with the FSF. - Contact us at emacs-devel@gnu.org to obtain the relevant - forms. +Contact us at emacs-devel@gnu.org to obtain the relevant forms. -o Getting the Source Code +* Getting the Source Code - The latest version of Emacs can be downloaded using CVS or - Arch from the Savannah web site. It is important to write - your patch based on this version; if you start from an older - version, your patch may be outdated when you write it, and - maintainers will have hard time applying it. +The latest version of Emacs can be downloaded using CVS or Arch from +the Savannah web site. It is important to write your patch based on +this version; if you start from an older version, your patch may be +outdated when you write it, and maintainers will have hard time +applying it. - After you have downloaded the CVS source, you should read the - file INSTALL.CVS for build instructions (they differ to some - extent from a normal build). +After you have downloaded the CVS source, you should read the file +INSTALL.CVS for build instructions (they differ to some extent from a +normal build). - Ref: http://savannah.gnu.org/projects/emacs +Ref: http://savannah.gnu.org/projects/emacs -o Submitting Patches +* Submitting Patches - Every patch must have several pieces of information before we - can properly evaluate it. +Every patch must have several pieces of information before we +can properly evaluate it. - * For bug fixes, a description of the bug and how your patch - fixes this bug. +When you have all these pieces, bundle them up in a mail message and +send it to emacs-pretest-bug@gnu.org or emacs-devel@gnu.org. - * For new features, a description of the feature and your - implementation. +All subsequent discussion should also be sent to the mailing list. - * A ChangeLog entry as plaintext (separate from the patch); - see the various ChangeLog files for format and content. Note - that, unlike some other projects, we do require ChangeLogs - also for documentation, i.e. Texinfo files. +** Description - Ref: "Change Log Concepts" node of the GNU Coding Standards - Info Manual, for how to write good log entries. +For bug fixes, a description of the bug and how your patch fixes this +bug. - * The patch itself. If you are accessing the CVS repository - use "cvs update; cvs diff -cp"; else, use "diff -cp OLD NEW". - If your version of diff does not support these options, then - get the latest version of GNU Diff. +For new features, a description of the feature and your +implementation. - * We accept the patches as plain text (preferred for the - compilers themselves), MIME attachments (preferred for the - web pages), or as uuencoded gzipped text. +** ChangeLog - When you have all these pieces, bundle them up in a mail message - and send it to emacs-pretest-bug@gnu.org or emacs-devel@gnu.org. - All subsequent discussion should also be sent to the mailing - list. +A ChangeLog entry as plaintext (separate from the patch). + +See the various ChangeLog files for format and content. Note that, +unlike some other projects, we do require ChangeLogs also for +documentation, i.e. Texinfo files. + +Ref: "Change Log Concepts" node of the GNU Coding Standards Info +Manual, for how to write good log entries. + +** The patch itself. + +Please use "Context Diff" format. + +If you are accessing the CVS repository use + cvs update; cvs diff -cp +else, use + diff -cp OLD NEW + +If your version of diff does not support these options, then get the +latest version of GNU Diff. + +** Mail format. + +We prefer to get the patches as inline plain text. + +Please be aware of line wrapping which will make the patch unreadable +and useless for us. To avoid that, you can use MIME attachments or, +as a last resort, uuencoded gzipped text. + +** Please reread your patch before submitting it. + +** Do not mix changes. + +If you send several unrelated changes together, we will ask you to +separate them so we can consider each of the changes by itself. -o Please reread your patch before submitting it. +* Coding style and conventions. + +** Mandatory reading: + +The "Tips and Conventions" Appendix of the Emacs Lisp Reference. + +** Avoid using `defadvice' or `eval-after-load' for Lisp code to be +included in Emacs. + +** Remove all trailing whitespace in all source and text files. + +** Use ?\s instead of ? in Lisp code for a space character. -o If you send several unrelated changes together, we will - ask you to separate them so we can consider each of the changes - by itself. +* Supplemental information for Emacs Developers. + +** Write access to Emacs' CVS repository. + +Once you become a frequent contributor to Emacs, we can consider +giving you write access to the CVS repository. -o Supplemental information for Emacs Developers: +** Emacs Mailing lists. - Once you become a frequent contributor to Emacs, we can - consider giving you write access to the CVS repository. +Discussion about Emacs development takes place on emacs-devel@gnu.org. - Discussion about Emacs development takes place on - emacs-devel@gnu.org. +Bug reports for released versions are sent to emacs-bugs@gnu.org. - Think carefully about whether your change requires updating the - documentation. If it does, you can either do this yourself or - add an item to the NEWS file. +Bug reports for development versions are sent to emacs-pretest-bug@gnu.org. - If you document your change in NEWS, please mark the NEWS - entry with the documentation status of the change: if you - submit the changes for the manuals, mark it with "+++"; if it - doesn't need to be documented, mark it with "---"; if it needs - to be documented, but you didn't submit documentation changes, - leave the NEWS entry unmarked. (These marks are checked by - the Emacs maintainers to make sure every change was reflected - in the manuals.) +You can subscribe to the mailing lists at savannah.gnu.org/projects/emacs. - The best way to understand Emacs Internals is to read the code, - but the nodes "Tips" and "GNU Emacs Internals" in the Appendix - of the Emacs Lisp Reference Manual may also help. +You can find the mailing lists archives at mail.gnu.org or gmane.org. - The file etc/DEBUG describes how to debug Emacs bugs. - Avoid using `defadvice' or `eval-after-load' for Lisp - code to be included in Emacs. +** Document your changes. + +Think carefully about whether your change requires updating the +documentation. If it does, you can either do this yourself or add an +item to the NEWS file. + +If you document your change in NEWS, please mark the NEWS entry with +the documentation status of the change: if you submit the changes for +the manuals, mark it with "+++"; if it doesn't need to be documented, +mark it with "---"; if it needs to be documented, but you didn't +submit documentation changes, leave the NEWS entry unmarked. (These +marks are checked by the Emacs maintainers to make sure every change +was reflected in the manuals.) + + +** Understanding Emacs Internals. + +The best way to understand Emacs Internals is to read the code, +but the nodes "Tips" and "GNU Emacs Internals" in the Appendix +of the Emacs Lisp Reference Manual may also help. + +The file etc/DEBUG describes how to debug Emacs bugs. + + + +* How to Maintain Copyright Years for GNU Emacs + +** Our lawyer says it is ok if we add, to each file that has been in Emacs +since Emacs 21 came out in 2001, all the subsequent years. We don't +need to check whether *that file* was changed in those years. +It's sufficient that *Emacs* was changed in those years (and it was!). + +** For those files that have been added since then, we should add +the year it was added to Emacs, and all subsequent years." + +** For the refcards under etc/, it's ok to simply use the latest year +(typically in a `\def\year{YEAR}' expression) for the rendered copyright +notice, while maintaining the full list of years in the copyright notice +in the comments. + + +Local variables: +mode: outline +paragraph-separate: "[ ]*$" +end: + From cf5ebec70eb67b7dca6ef82c008e23cbb40e96e3 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 9 Jul 2006 01:57:38 +0000 Subject: [PATCH 071/336] (DETAILED BUILDING AND INSTALLATION): Minor corrections. --- INSTALL | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/INSTALL b/INSTALL index 48618d222e0..ad4f987e7d0 100644 --- a/INSTALL +++ b/INSTALL @@ -255,14 +255,14 @@ accept a list of directories, separated with colons. To get more attractive menus, you can specify an X toolkit when you configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where -TOOLKIT is `athena', `motif' or `gtk' (`yes' and `lucid' are synonyms for -`athena'). On some systems, it does not work to use a toolkit with -shared libraries. A free implementation of Motif, called LessTif, is -available ftom . Compiling with LessTif or -Motif causes a standard File Selection Dialog to pop up when you type -"C-x C-f" and similar commands. You can get fancy 3D-style scroll -bars, even without LessTif/Motif, if you have the Xaw3d library -installed (see "Image support libraries" above for Xaw3d +TOOLKIT is `athena', `motif' or `gtk' (`yes' and `lucid' are synonyms +for `athena'). On some systems, it does not work to use a toolkit +with shared libraries. A free implementation of Motif, called +LessTif, is available from . Compiling with +LessTif or Motif causes a standard File Selection Dialog to pop up +when you invoke file commands with the mouse. You can get fancy +3D-style scroll bars, even without LessTif/Motif, if you have the +Xaw3d library installed (see "Image support libraries" above for Xaw3d availability). If `--with-x-toolkit=gtk' is specified, you can tell configure where From 4b21e5f30feb1aed86ba1f38e5e4fcb76a6cd11c Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 9 Jul 2006 01:59:34 +0000 Subject: [PATCH 072/336] (imenu-choose-buffer-index): Doc fix. --- lisp/imenu.el | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lisp/imenu.el b/lisp/imenu.el index a609bcbadf9..d9c75c5fdd4 100644 --- a/lisp/imenu.el +++ b/lisp/imenu.el @@ -910,9 +910,8 @@ select from ALIST. With no index alist ALIST, it calls `imenu--make-index-alist' to create the index alist. -If `imenu-use-popup-menu' is non-nil, then the -completion buffer is always used, no matter if the mouse was used or -not. +If `imenu-use-popup-menu' is nil, then the completion buffer +is always used, no matter if the mouse was used or not. The returned value is of the form (INDEX-NAME . INDEX-POSITION)." (let (index-alist From 8285ccd2e1abf08f829f67d93375a2df4e38a859 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 9 Jul 2006 02:00:10 +0000 Subject: [PATCH 073/336] (def-edebug-spec): Moved here. --- lisp/subr.el | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lisp/subr.el b/lisp/subr.el index f19142faa60..9672a7afb76 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -53,6 +53,12 @@ This is the global do-nothing version. There is also `testcover-1value' that complains if FORM ever does return differing values." form) +(defmacro def-edebug-spec (symbol spec) + "Set the `edebug-form-spec' property of SYMBOL according to SPEC. +Both SYMBOL and SPEC are unevaluated. The SPEC can be 0, t, a symbol +\(naming a function), or a list." + `(put (quote ,symbol) 'edebug-form-spec (quote ,spec))) + (defmacro lambda (&rest cdr) "Return a lambda expression. A call of the form (lambda ARGS DOCSTRING INTERACTIVE BODY) is From 21662bd3eb406be1962d28a5814567045bafce29 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 9 Jul 2006 02:00:46 +0000 Subject: [PATCH 074/336] (def-edebug-spec): Moved to subr.el. --- lisp/emacs-lisp/edebug.el | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index d0be3a02f65..7e4972194bb 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -235,13 +235,6 @@ If the result is non-nil, then break. Errors are ignored." ;;; Form spec utilities. -;;;###autoload -(defmacro def-edebug-spec (symbol spec) - "Set the `edebug-form-spec' property of SYMBOL according to SPEC. -Both SYMBOL and SPEC are unevaluated. The SPEC can be 0, t, a symbol -\(naming a function), or a list." - `(put (quote ,symbol) 'edebug-form-spec (quote ,spec))) - (defmacro def-edebug-form-spec (symbol spec-form) "For compatibility with old version." (def-edebug-spec symbol (eval spec-form))) From b50b95ce642cfdc9f43c4fc0c0e23699a20e6bbd Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 9 Jul 2006 02:02:03 +0000 Subject: [PATCH 075/336] (define-minor-mode): Doc fix. --- lisp/emacs-lisp/easy-mmode.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index 097083112c3..d4ba8d30623 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el @@ -102,8 +102,8 @@ The above three arguments can be skipped if keyword arguments are used (see below). BODY contains code to execute each time the mode is activated or deactivated. - It will be executed after any toggling but before running the hook variable - `mode-HOOK'. + It is executed after toggling the mode, + and before running the hook variable `mode-HOOK'. Before the actual body code, you can write keyword arguments (alternating keywords and values). These following keyword arguments are supported (other keywords will be passed to `defcustom' if the minor mode is global): From e50f1c1a82da8ebcf62a9112fee0f0c48afbc3a6 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 9 Jul 2006 02:02:57 +0000 Subject: [PATCH 076/336] (x-handle-display): Add doc string. --- lisp/term/x-win.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index c4331b3c778..af45c7c4270 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el @@ -188,6 +188,7 @@ For the X display name of individual frames, see the `display' frame parameter.") (defun x-handle-display (switch) + "Handle -display DISPLAY option." (setq x-display-name (car x-invocation-args) x-invocation-args (cdr x-invocation-args)) ;; Make subshell programs see the same DISPLAY value Emacs really uses. From 0d93030da7b411307be0dbc8edce7e815964f4f6 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 9 Jul 2006 02:06:34 +0000 Subject: [PATCH 077/336] (Attribute Functions): Move paragraph about compatibility with Emacs < 21. --- lispref/display.texi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lispref/display.texi b/lispref/display.texi index c57c795e58d..2354ad689f2 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -2106,10 +2106,6 @@ For example, @end example @end defun - The functions above did not exist before Emacs 21. For compatibility -with older Emacs versions, you can use the following functions to set -and examine the face attributes which existed in those versions. - @defun face-attribute-relative-p attribute value This function returns non-@code{nil} if @var{value}, when used as the value of the face attribute @var{attribute}, is relative. This means @@ -2136,6 +2132,10 @@ If @var{value1} is a relative value for the face attribute face attribute @var{attribute}, returns @var{value1} unchanged. @end defun + The functions above did not exist before Emacs 21. For compatibility +with older Emacs versions, you can use the following functions to set +and examine the face attributes which existed in those versions. + @defun set-face-foreground face color &optional frame @defunx set-face-background face color &optional frame These functions set the foreground (or background, respectively) color From 34079653ff9efb5e148caed66f92e392fbd8b201 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 9 Jul 2006 02:07:25 +0000 Subject: [PATCH 078/336] (Interactive Call): Use 3 as prefix in example for execute-extended-command. --- lispref/commands.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lispref/commands.texi b/lispref/commands.texi index c56ecf41faa..c6f3fcf39b2 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi @@ -627,9 +627,9 @@ part of the prompt. @example @group -(execute-extended-command 1) +(execute-extended-command 3) ---------- Buffer: Minibuffer ---------- -1 M-x forward-word RET +3 M-x forward-word RET ---------- Buffer: Minibuffer ---------- @result{} t @end group From 3aa7c28e8e92d19ca12856bbe1f57b751ed5b1dd Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 9 Jul 2006 02:08:14 +0000 Subject: [PATCH 079/336] *** empty log message *** --- ChangeLog | 6 +++++- admin/FOR-RELEASE | 2 -- etc/NEWS | 4 ++++ etc/TODO | 2 ++ lisp/ChangeLog | 11 +++++++++++ lispref/ChangeLog | 8 ++++++++ 6 files changed, 30 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 24775fe4276..a37cdd71377 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2006-07-08 Richard Stallman + + * INSTALL (DETAILED BUILDING AND INSTALLATION): Minor corrections. + 2006-07-09 Kim F. Storm * CONTRIBUTE: Use outline format. @@ -7,7 +11,7 @@ * configure: Regenerated. - * configure.in (PKG_CHECK_MODUILES): Redirect stderr of pkg-config + * configure.in (PKG_CHECK_MODULES): Redirect stderr of pkg-config to /dev/null, since we don't need the error message, just the exit status. diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 4ba4204c05b..95584c62965 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -64,8 +64,6 @@ It seems that to fix this, w32 server sockets must use WSAAsyncSelect * DOCUMENTATION -** Delete all @tindex commands from the Emacs Lisp Manual. - ** Check the Emacs Lisp manual. Each manual section should be checked for factual correctness diff --git a/etc/NEWS b/etc/NEWS index 4205c9e2f87..9c8156b72e7 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -451,6 +451,8 @@ C-h e displays the *Messages* buffer. C-h d runs apropos-documentation. +C-h r visits the Emacs Manual in Info. + C-h followed by a control character is used for displaying files that do not change: @@ -3667,6 +3669,8 @@ deleting the part of subprocess output that matches the input. ** The variable `memory-full' now remains t until there is no longer a shortage of memory. +** When Emacs receives a USR1 or USR2 signal, this generates +an input event: usr1-signal or usr2-signal. * Lisp Changes in Emacs 22.1 diff --git a/etc/TODO b/etc/TODO index 02edc2671a7..de0097cde87 100644 --- a/etc/TODO +++ b/etc/TODO @@ -90,6 +90,8 @@ current buffer. list fonts, display a font as a sample, etc. [fx is looking at multilingual font selection for the Unicode branch of Emacs.] +** Provide a convenient way to select a color with the mouse. + ** Rewrite the face code to be simpler, clearer and faster. ** Program Enriched mode to read and save in RTF. [Is there actually a diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0995999b7e2..9732a3f5432 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,14 @@ +2006-07-08 Richard Stallman + + * term/x-win.el (x-handle-display): Add doc string. + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. + + * subr.el (def-edebug-spec): Moved here. + * emacs-lisp/edebug.el (def-edebug-spec): Moved to subr.el. + + * imenu.el (imenu-choose-buffer-index): Doc fix. + 2006-07-08 Romain Francoise * term/x-win.el (x-display-name): Fix typo. diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 2d488c41eae..5e5365cd031 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,11 @@ +2006-07-08 Richard Stallman + + * commands.texi (Interactive Call): Use 3 as prefix in example + for execute-extended-command. + + * display.texi (Attribute Functions): Move paragraph about + compatibility with Emacs < 21. + 2006-07-09 Kim F. Storm * display.texi (Refresh Screen): Clarify force-window-update. From 4f4c0966e2c7bdfe5562bda4a7aa084b5fa1dc3f Mon Sep 17 00:00:00 2001 From: John Paul Wallington Date: Sun, 9 Jul 2006 03:19:16 +0000 Subject: [PATCH 080/336] (Fforward_comment): Use type int for `from' and `from_byte'. --- src/syntax.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/syntax.c b/src/syntax.c index d72fe4636db..e95557d83aa 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1992,8 +1992,8 @@ between them, return t; otherwise return nil. */) (count) Lisp_Object count; { - register EMACS_INT from; - EMACS_INT from_byte; + register int from; + int from_byte; register EMACS_INT stop; register int c, c1; register enum syntaxcode code; From bf88ca63905ad2afc61fae92e8fba048819d4521 Mon Sep 17 00:00:00 2001 From: John Paul Wallington Date: Sun, 9 Jul 2006 03:33:14 +0000 Subject: [PATCH 081/336] (Fforward_comment): Use type int for `stop', `count1', `out_charpos' and `out_bytepos' too; revert Stef's previous change. --- src/ChangeLog | 4 ++++ src/syntax.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 2192ee1faf7..37feab00c68 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2006-07-09 John Paul Wallington + + * syntax.c (Fforward_comment): Revert previous change. + 2006-07-09 Kim F. Storm * window.c (Fforce_window_update): Doc fix. diff --git a/src/syntax.c b/src/syntax.c index e95557d83aa..9af4773a01b 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1994,14 +1994,14 @@ between them, return t; otherwise return nil. */) { register int from; int from_byte; - register EMACS_INT stop; + register int stop; register int c, c1; register enum syntaxcode code; int comstyle = 0; /* style of comment encountered */ int comnested = 0; /* whether the comment is nestable or not */ int found; - EMACS_INT count1; - EMACS_INT out_charpos, out_bytepos; + int count1; + int out_charpos, out_bytepos; int dummy; CHECK_NUMBER (count); From 5fc5b7e842f10fca77536a1a7742ef76ec224023 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 9 Jul 2006 05:20:42 +0000 Subject: [PATCH 082/336] (fill-region-as-paragraph): Refine last change. --- lisp/ChangeLog | 8 ++++++-- lisp/textmodes/fill.el | 9 ++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9732a3f5432..08832bd613e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,11 +1,15 @@ +2006-07-09 Stefan Monnier + + * textmodes/fill.el (fill-region-as-paragraph): Refine last change. + 2006-07-08 Richard Stallman * term/x-win.el (x-handle-display): Add doc string. * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. - * subr.el (def-edebug-spec): Moved here. - * emacs-lisp/edebug.el (def-edebug-spec): Moved to subr.el. + * subr.el (def-edebug-spec): Move here. + * emacs-lisp/edebug.el (def-edebug-spec): Move to subr.el. * imenu.el (imenu-choose-buffer-index): Doc fix. diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 409e9117674..95f73b56952 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -628,10 +628,13 @@ space does not end a sentence, so don't break a line there." (let ((from-plus-indent (point)) (oneleft nil)) + (beginning-of-line) ;; We used to round up to whole line, but that prevents us from - ;; correctly handling filling of mixed code-and-comment where we - ;; do want to fill the comment but not the code. - ;; (beginning-of-line) (setq from (point)) + ;; correctly handling filling of mixed code-and-comment where we do want + ;; to fill the comment but not the code. So only use (point) if it's + ;; further than `from', which means that `from' is followed by some + ;; number of empty lines. + (setq from (max (point) from)) ;; Delete all but one soft newline at end of region. ;; And leave TO before that one. From 933f846719f290bcfc67b28242ca2ec3964413f4 Mon Sep 17 00:00:00 2001 From: Romain Francoise Date: Sun, 9 Jul 2006 11:04:19 +0000 Subject: [PATCH 083/336] (isearch-yank-line): Let-bind `inhibit-field-text-motion' to t. --- lisp/ChangeLog | 5 +++++ lisp/isearch.el | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 08832bd613e..2ef7629a5b4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-09 Romain Francoise + + * isearch.el (isearch-yank-line): Let-bind `inhibit-field-text-motion' + to t. + 2006-07-09 Stefan Monnier * textmodes/fill.el (fill-region-as-paragraph): Refine last change. diff --git a/lisp/isearch.el b/lisp/isearch.el index 014c8efe188..4dbb29d99dc 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -1357,7 +1357,8 @@ might return the position of the end of the line." "Pull rest of line from buffer into search string." (interactive) (isearch-yank-internal - (lambda () (line-end-position (if (eolp) 2 1))))) + (lambda () (let ((inhibit-field-text-motion t)) + (line-end-position (if (eolp) 2 1)))))) (defun isearch-search-and-update () ;; Do the search and update the display. From f4237794c79648ab181c0fecec3edfa95b96e6e0 Mon Sep 17 00:00:00 2001 From: Romain Francoise Date: Sun, 9 Jul 2006 11:12:21 +0000 Subject: [PATCH 084/336] isearch-yank-line bug fixed. --- admin/FOR-RELEASE | 2 -- 1 file changed, 2 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 95584c62965..3f34f352824 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -36,8 +36,6 @@ and KDE projects, to use the new Emacs icons in etc/images/icons. * BUGS -** Stephen.Berman@gmx.net: isearch-yank-line and field text property - ** Markus Gritsch's report about Emacs looping on Windoze with the following .emacs file, and then reduce Emacs frame width to "something quite narrow": (setq-default truncate-lines t) From 2312c580d3740dc27531212571aac17ecc84d3cd Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 9 Jul 2006 14:19:33 +0000 Subject: [PATCH 085/336] (Fforward_comment): Revert the reversion. --- src/ChangeLog | 4 ++++ src/syntax.c | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 37feab00c68..c00e111c66d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2006-07-09 Stefan Monnier + + * syntax.c (Fforward_comment): Revert the reversion. + 2006-07-09 John Paul Wallington * syntax.c (Fforward_comment): Revert previous change. diff --git a/src/syntax.c b/src/syntax.c index 9af4773a01b..d72fe4636db 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1992,16 +1992,16 @@ between them, return t; otherwise return nil. */) (count) Lisp_Object count; { - register int from; - int from_byte; - register int stop; + register EMACS_INT from; + EMACS_INT from_byte; + register EMACS_INT stop; register int c, c1; register enum syntaxcode code; int comstyle = 0; /* style of comment encountered */ int comnested = 0; /* whether the comment is nestable or not */ int found; - int count1; - int out_charpos, out_bytepos; + EMACS_INT count1; + EMACS_INT out_charpos, out_bytepos; int dummy; CHECK_NUMBER (count); From 932e6895deb60328c871a0896dbfb48df36a62a8 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 9 Jul 2006 14:36:07 +0000 Subject: [PATCH 086/336] (back_comment, scan_lists): Also use EMACS_INT for buffer positions. --- src/ChangeLog | 1 + src/syntax.c | 24 +++++++++++++----------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index c00e111c66d..79e32451f9d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,6 +1,7 @@ 2006-07-09 Stefan Monnier * syntax.c (Fforward_comment): Revert the reversion. + (back_comment, scan_lists): Also use EMACS_INT for buffer positions. 2006-07-09 John Paul Wallington diff --git a/src/syntax.c b/src/syntax.c index d72fe4636db..eb37cbb647f 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -97,10 +97,11 @@ static int find_start_modiff; static int find_defun_start P_ ((int, int)); -static int back_comment P_ ((int, int, int, int, int, int *, int *)); +static int back_comment P_ ((EMACS_INT, EMACS_INT, EMACS_INT, int, int, + EMACS_INT *, EMACS_INT *)); static int char_quoted P_ ((int, int)); static Lisp_Object skip_chars P_ ((int, int, Lisp_Object, Lisp_Object, int)); -static Lisp_Object scan_lists P_ ((int, int, int, int)); +static Lisp_Object scan_lists P_ ((EMACS_INT, EMACS_INT, EMACS_INT, int)); static void scan_sexps_forward P_ ((struct lisp_parse_state *, int, int, int, int, int, Lisp_Object, int)); @@ -471,9 +472,9 @@ prev_char_comend_first (pos, pos_byte) static int back_comment (from, from_byte, stop, comnested, comstyle, charpos_ptr, bytepos_ptr) - int from, from_byte, stop; + EMACS_INT from, from_byte, stop; int comnested, comstyle; - int *charpos_ptr, *bytepos_ptr; + EMACS_INT *charpos_ptr, *bytepos_ptr; { /* Look back, counting the parity of string-quotes, and recording the comment-starters seen. @@ -2199,11 +2200,12 @@ between them, return t; otherwise return nil. */) static Lisp_Object scan_lists (from, count, depth, sexpflag) - register int from; - int count, depth, sexpflag; + register EMACS_INT from; + EMACS_INT count, depth; + int sexpflag; { Lisp_Object val; - register int stop = count > 0 ? ZV : BEGV; + register EMACS_INT stop = count > 0 ? ZV : BEGV; register int c, c1; int stringterm; int quoted; @@ -2212,11 +2214,11 @@ scan_lists (from, count, depth, sexpflag) int min_depth = depth; /* Err out if depth gets less than this. */ int comstyle = 0; /* style of comment encountered */ int comnested = 0; /* whether the comment is nestable or not */ - int temp_pos; - int last_good = from; + EMACS_INT temp_pos; + EMACS_INT last_good = from; int found; - int from_byte; - int out_bytepos, out_charpos; + EMACS_INT from_byte; + EMACS_INT out_bytepos, out_charpos; int temp, dummy; int multibyte_symbol_p = sexpflag && multibyte_syntax_as_symbol; From 65ef2c82b1c2cc830785c5ef8611b2efa89fa167 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sun, 9 Jul 2006 14:56:55 +0000 Subject: [PATCH 087/336] * misc.texi (Invoking emacsclient): Document behavior when emacsclient is invoked for multiple files. --- man/ChangeLog | 5 +++++ man/misc.texi | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/man/ChangeLog b/man/ChangeLog index 1b0b7d51e02..a2afccd0ae9 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,8 @@ +2006-07-09 Chong Yidong + + * misc.texi (Invoking emacsclient): Document behavior when emacsclient + is invoked for multiple files. + 2006-07-08 Eli Zaretskii * msdog.texi (Windows Keyboard) [@iftex]: Add an @inforef to the diff --git a/man/misc.texi b/man/misc.texi index 9821149a459..28668a30e67 100644 --- a/man/misc.texi +++ b/man/misc.texi @@ -1348,6 +1348,11 @@ in the line. Emacs sends a message to the @code{emacsclient} program telling it to return. + If you invoke @code{emacsclient} for more than one file, the +additional client buffers are buried at the bottom of the buffer list +(@pxref{Buffers}). If you call @kbd{C-x #} after you are done editing +a client buffer, the next client buffer is automatically selected. + But if you use the option @samp{-n} or @samp{--no-wait} when running @code{emacsclient}, then it returns immediately. (You can take as long as you like to edit the files in Emacs.) From 47f97084161acb8906cb69bc628be3fdc0454cc5 Mon Sep 17 00:00:00 2001 From: Romain Francoise Date: Sun, 9 Jul 2006 15:17:05 +0000 Subject: [PATCH 088/336] (compilation-mode-font-lock-keywords): Don't highlight start/end markers as compilation messages. --- lisp/ChangeLog | 3 +++ lisp/progmodes/compile.el | 11 ++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2ef7629a5b4..bae1c4e10de 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2006-07-09 Romain Francoise + * progmodes/compile.el (compilation-mode-font-lock-keywords): + Don't highlight start/end markers as compilation messages. + * isearch.el (isearch-yank-line): Let-bind `inhibit-field-text-motion' to t. diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 3c9d0741783..5f10bec032a 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -400,7 +400,10 @@ you may also want to change `compilation-page-delimiter'.") "Value of `page-delimiter' in Compilation mode.") (defvar compilation-mode-font-lock-keywords - '(;; configure output lines. + '(;; Don't highlight this as a compilation message. + ("^Compilation started at.*" + (0 '(face nil message nil help-echo nil mouse-face nil) t)) + ;; configure output lines. ("^[Cc]hecking \\(?:[Ff]or \\|[Ii]f \\|[Ww]hether \\(?:to \\)?\\)?\\(.+\\)\\.\\.\\. *\\(?:(cached) *\\)?\\(\\(yes\\(?: .+\\)?\\)\\|no\\|\\(.*\\)\\)$" (1 font-lock-variable-name-face) (2 (compilation-face '(4 . 3)))) @@ -408,9 +411,11 @@ you may also want to change `compilation-page-delimiter'.") ("^\\([[:alnum:]_/.+-]+\\)\\(\\[\\([0-9]+\\)\\]\\)?[ \t]*:" (1 font-lock-function-name-face) (3 compilation-line-face nil t)) (" --?o\\(?:utfile\\|utput\\)?[= ]?\\(\\S +\\)" . 1) - ("^Compilation \\(finished\\)" + ("^Compilation \\(finished\\).*" + (0 '(face nil message nil help-echo nil mouse-face nil) t) (1 compilation-info-face)) - ("^Compilation \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?" + ("^Compilation \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*" + (0 '(face nil message nil help-echo nil mouse-face nil) t) (1 compilation-error-face) (2 compilation-error-face nil t))) "Additional things to highlight in Compilation mode. From 4b6b279f02b5bacc86b0cf3a4ac730e3f02cbad1 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sun, 9 Jul 2006 15:24:22 +0000 Subject: [PATCH 089/336] * emacs-lisp/helper.el (Helper-help-scroller): Don't signal error on non-char events. --- lisp/ChangeLog | 5 +++++ lisp/emacs-lisp/helper.el | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bae1c4e10de..0760219e14c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-09 Chong Yidong + + * emacs-lisp/helper.el (Helper-help-scroller): Don't signal error + on non-char events. + 2006-07-09 Romain Francoise * progmodes/compile.el (compilation-mode-font-lock-keywords): diff --git a/lisp/emacs-lisp/helper.el b/lisp/emacs-lisp/helper.el index 3b614be26f4..92eb86ce676 100644 --- a/lisp/emacs-lisp/helper.el +++ b/lisp/emacs-lisp/helper.el @@ -77,7 +77,7 @@ "Delete scrolls back. Other keys %s" "Type anything to %s")) blurb) - (setq continue (read-char)) + (setq continue (read-event)) (cond ((and (memq continue '(?\s ?\C-v)) (< state 2)) (scroll-up)) ((= continue ?\C-l) From a0f3035d4bde35ef9a62bea48cd48afc301a60fb Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 9 Jul 2006 15:54:46 +0000 Subject: [PATCH 090/336] Fix commenting style. --- lisp/ldefs-boot.el | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index f1cdd57d462..805c11df701 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -30574,9 +30574,9 @@ Zone-mode does two things: ;;;*** -;;; Local Variables: -;;; version-control: never -;;; no-byte-compile: t -;;; no-update-autoloads: t -;;; End: +;; Local Variables: +;; version-control: never +;; no-byte-compile: t +;; no-update-autoloads: t +;; End: ;;; loaddefs.el ends here From b86be617b2e0301e100be6cef25b32e3761fe4c9 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 9 Jul 2006 18:58:09 +0000 Subject: [PATCH 091/336] (Truncation): Clean up previous change. --- lispref/ChangeLog | 4 ++++ lispref/display.texi | 32 ++++++++++++++------------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 5e5365cd031..bcb79dea2ee 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,7 @@ +2006-07-09 Richard Stallman + + * display.texi (Truncation): Clean up previous change. + 2006-07-08 Richard Stallman * commands.texi (Interactive Call): Use 3 as prefix in example diff --git a/lispref/display.texi b/lispref/display.texi index 2354ad689f2..a0c5a4756b7 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -125,25 +125,21 @@ pending, use @code{(sit-for -1)}. @cindex @samp{$} in display @cindex @samp{\} in display - When a line of text extends beyond the right edge of a window, the -line can either be continued on the next screen line, or truncated to -one screen line. The additional screen lines used to display a long -text line are called @dfn{continuation} lines. Normally, tiny arrow images -are displayed in the window fringes to indicate truncated and continued -lines (*note Fringes). + When a line of text extends beyond the right edge of a window, Emacs +can @dfn{continue} the line (make it ``wrap'' to the next screen +line), or @dfn{truncate} the line (limit it to one screen line). The +additional screen lines used to display a long text line are called +@dfn{continuation} lines. Continuation is not the same as filling; +continuation happens on the screen only, not in the buffer contents, +and it breaks a line precisely at the right margin, not at a word +boundary. @xref{Filling}. - On a text terminal, a `$' in the rightmost column of the window -indicates truncation; a `\' on the rightmost column indicates a -continued line that "wraps" onto the next line. (The display table can -specify alternative indicators; see *Note Display Tables.) - - On a graphical display, the @samp{$} and @samp{\} indicators are -replaced with arrow images displayed in the window fringes -(@pxref{Fringes}). - - Note that continuation is different from filling; continuation happens -on the screen only, not in the buffer contents, and it breaks a line -precisely at the right margin, not at a word boundary. @xref{Filling}. + On a graphical display, tiny arrow images in the window fringes +indicate truncated and continued lines (@pxref{Fringes}). On a text +terminal, a @samp{$} in the rightmost column of the window indicates +truncation; a @samp{\} on the rightmost column indicates a line that +``wraps''. (The display table can specify alternate characters to use +for this; @pxref{Display Tables}). @defopt truncate-lines This buffer-local variable controls how Emacs displays lines that extend From fdd0ca6178f35712e9da3d12c7ca33d1a9df09e0 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sun, 9 Jul 2006 22:34:03 +0000 Subject: [PATCH 092/336] index.texi, elisp.texi (New Symbols): Comment node out. --- lispref/elisp.texi | 4 ++++ lispref/index.texi | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lispref/elisp.texi b/lispref/elisp.texi index 4daa32e61ec..b4c0e67347b 100644 --- a/lispref/elisp.texi +++ b/lispref/elisp.texi @@ -166,7 +166,9 @@ Appendices * Index:: Index including concepts, functions, variables, and other terms. +@ignore * New Symbols:: New functions and variables in Emacs @value{EMACSVER}. +@end ignore Detailed Node Listing --------------------- @@ -1151,10 +1153,12 @@ Object Internals @include index.texi +@ignore @node New Symbols, , Index, Top @unnumbered New Symbols Since the Previous Edition @printindex tp +@end ignore @bye diff --git a/lispref/index.texi b/lispref/index.texi index 95c76e5a00c..cfa8f25e126 100644 --- a/lispref/index.texi +++ b/lispref/index.texi @@ -3,7 +3,7 @@ @c Indexing guidelines -@c I assume that all indexes will be combinded. +@c I assume that all indexes will be combined. @c Therefore, if a generated findex and permutations @c cover the ways an index user would look up the entry, @c then no cindex is added. @@ -19,7 +19,7 @@ @c pindex is used for .el files and Unix programs -@node Index, New Symbols, Standard Hooks, Top +@node Index, , Standard Hooks, Top @unnumbered Index @c Print the indices From d9e8a9641dd2176255bc196a0c7e9ca89784a595 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sun, 9 Jul 2006 22:34:41 +0000 Subject: [PATCH 093/336] (Buttons): Fix typo. --- lispref/display.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lispref/display.texi b/lispref/display.texi index a0c5a4756b7..567b9931b48 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -4266,7 +4266,7 @@ etc. Emacs uses buttons for the hyper-links in help text and the like. properties or overlays) to a region of text in an Emacs buffer. These properties are called @dfn{button properties}. - One of the these properties (@code{action}) is a function, which will + One of these properties (@code{action}) is a function, which will be called when the user invokes it using the keyboard or the mouse. The invoked function may then examine the button and use its other properties as desired. From a183016f11a2fba5ed731a8d962a2d4d2e116622 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sun, 9 Jul 2006 22:46:06 +0000 Subject: [PATCH 094/336] *** empty log message *** --- lispref/ChangeLog | 6 ++++++ man/ChangeLog | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index bcb79dea2ee..26bbfdf2022 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,9 @@ +2006-07-10 Nick Roberts + + * display.texi (Buttons): Fix typo. + + * index.texi, elisp.texi (New Symbols): Comment node out. + 2006-07-09 Richard Stallman * display.texi (Truncation): Clean up previous change. diff --git a/man/ChangeLog b/man/ChangeLog index a2afccd0ae9..2a12386777f 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,7 @@ +2006-07-10 Nick Roberts + + * killing.texi, gnus.texi, message.texi, mini.texi: Fix typos. + 2006-07-09 Chong Yidong * misc.texi (Invoking emacsclient): Document behavior when emacsclient From 40b6cb793a3afe635b266fac344850dc325be633 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sun, 9 Jul 2006 22:48:00 +0000 Subject: [PATCH 095/336] Fix typos. --- man/gnus.texi | 10 +++++----- man/killing.texi | 2 +- man/message.texi | 2 +- man/mini.texi | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/man/gnus.texi b/man/gnus.texi index 43e7c4c6d15..c2558365c28 100644 --- a/man/gnus.texi +++ b/man/gnus.texi @@ -2137,7 +2137,7 @@ newsgroups. @vindex gnus-auto-select-subject If @code{gnus-auto-select-first} is non-@code{nil}, select an article automatically when entering a group with the @kbd{SPACE} command. -Which article this is is controlled by the +Which article this is controlled by the @code{gnus-auto-select-subject} variable. Valid values for this variable is: @@ -22974,7 +22974,7 @@ variable @code{gnus-ham-process-destinations}, or the group parameter group specified by the variable @code{gnus-spam-process-destinations}, or the group parameter @code{spam-process-destination}. If these variables are not set, the articles are left in their current group. -If an article cannot not be moved (e.g., with a read-only backend such +If an article cannot be moved (e.g., with a read-only backend such as @acronym{NNTP}), it is copied. If an article is moved to another group, it is processed again when @@ -24245,10 +24245,10 @@ file is treated as one non-spam mail. @end defun Usually you would call @code{spam-stat-process-spam-directory} on a -directory such as @file{~/Mail/mail/spam} (this usually corresponds -the the group @samp{nnml:mail.spam}), and you would call +directory such as @file{~/Mail/mail/spam} (this usually corresponds to +the group @samp{nnml:mail.spam}), and you would call @code{spam-stat-process-non-spam-directory} on a directory such as -@file{~/Mail/mail/misc} (this usually corresponds the the group +@file{~/Mail/mail/misc} (this usually corresponds the group @samp{nnml:mail.misc}). When you are using @acronym{IMAP}, you won't have the mails available diff --git a/man/killing.texi b/man/killing.texi index ad79e5595ca..0a1badcffe7 100644 --- a/man/killing.texi +++ b/man/killing.texi @@ -692,7 +692,7 @@ any direction. Normal text you type is inserted to the left or right of each line in the rectangle (on the same side as the cursor). With CUA you can easily copy text and rectangles into and out of -registers by providing a one-digit numeric prefix the the kill, copy, +registers by providing a one-digit numeric prefix to the kill, copy, and yank commands, e.g. @kbd{C-1 C-c} copies the region into register @code{1}, and @kbd{C-2 C-v} yanks the contents of register @code{2}. diff --git a/man/message.texi b/man/message.texi index e6e27428aeb..023a7e8cd4a 100644 --- a/man/message.texi +++ b/man/message.texi @@ -696,7 +696,7 @@ cross-post, add that target newsgroup to the @samp{Newsgroups} header if it is not a member of @samp{Newsgroups}, and insert a note in the body. If @code{message-cross-post-default} is @code{nil} or if this command is called with a prefix-argument, only the @samp{FollowUp-To} header will -be set but the the target newsgroup will not be added to the +be set but the target newsgroup will not be added to the @samp{Newsgroups} header. The function to insert a note is controlled by the @code{message-cross-post-note-function} variable. diff --git a/man/mini.texi b/man/mini.texi index 740fea02299..af2a0778bb1 100644 --- a/man/mini.texi +++ b/man/mini.texi @@ -193,7 +193,7 @@ a list of the possible completions at any time. command, so it provides a list of all Emacs command names for completion candidates. The completion keys match the minibuffer text against these candidates, find any additional name characters implied -by the the text already present in the minibuffer, and add those +by the text already present in the minibuffer, and add those characters. This makes it possible to type @kbd{M-x ins @key{SPC} b @key{RET}} instead of @kbd{M-x insert-buffer @key{RET}}, for example. From 50ed77b133b3b6ebb61666005f90c0b690338279 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sun, 9 Jul 2006 23:29:58 +0000 Subject: [PATCH 096/336] Fix typo. --- man/gnus.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/gnus.texi b/man/gnus.texi index c2558365c28..180a8f44025 100644 --- a/man/gnus.texi +++ b/man/gnus.texi @@ -24248,7 +24248,7 @@ Usually you would call @code{spam-stat-process-spam-directory} on a directory such as @file{~/Mail/mail/spam} (this usually corresponds to the group @samp{nnml:mail.spam}), and you would call @code{spam-stat-process-non-spam-directory} on a directory such as -@file{~/Mail/mail/misc} (this usually corresponds the group +@file{~/Mail/mail/misc} (this usually corresponds to the group @samp{nnml:mail.misc}). When you are using @acronym{IMAP}, you won't have the mails available From c399d5451366207a8cd5d4922d5cad652f9c2608 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sun, 9 Jul 2006 23:34:31 +0000 Subject: [PATCH 097/336] Revert earlier change. --- man/gnus.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/gnus.texi b/man/gnus.texi index 180a8f44025..9092999dfc9 100644 --- a/man/gnus.texi +++ b/man/gnus.texi @@ -2137,7 +2137,7 @@ newsgroups. @vindex gnus-auto-select-subject If @code{gnus-auto-select-first} is non-@code{nil}, select an article automatically when entering a group with the @kbd{SPACE} command. -Which article this is controlled by the +Which article this is is controlled by the @code{gnus-auto-select-subject} variable. Valid values for this variable is: From 3c0ab532f858631318633f9c790c3e65280f4925 Mon Sep 17 00:00:00 2001 From: Alan Mackenzie Date: Mon, 10 Jul 2006 13:19:14 +0000 Subject: [PATCH 098/336] * progmodes/cc-awk.el, cc-defs.el, cc-fonts.el, cc-langs.el, cc-mode.el: Changes to eradicate eval-after-load. --- lisp/ChangeLog | 5 ++ lisp/progmodes/cc-awk.el | 92 +++++++++++++++++++++++++++++- lisp/progmodes/cc-defs.el | 72 +++++++++++------------ lisp/progmodes/cc-fonts.el | 114 ++++--------------------------------- lisp/progmodes/cc-langs.el | 7 ++- lisp/progmodes/cc-mode.el | 5 +- 6 files changed, 150 insertions(+), 145 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0760219e14c..22737a04678 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-10 Alan Mackenzie + + * progmodes/cc-awk.el, cc-defs.el, cc-fonts.el, cc-langs.el, + cc-mode.el: Changes to eradicate eval-after-load. + 2006-07-09 Chong Yidong * emacs-lisp/helper.el (Helper-help-scroller): Don't signal error diff --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el index 284a2edbe94..4a475784106 100644 --- a/lisp/progmodes/cc-awk.el +++ b/lisp/progmodes/cc-awk.el @@ -32,7 +32,7 @@ ;; 1. The AWK Mode syntax table. ;; 2. Regular expressions for analysing AWK code. ;; 3. Indentation calculation stuff ("c-awk-NL-prop text-property"). -;; 4. Syntax-table property/font-locking stuff, but not including the +;; 4. Syntax-table property/font-locking stuff, including the ;; font-lock-keywords setting. ;; 5. The AWK Mode before/after-change-functions. ;; 6. AWK Mode specific versions of commands like beginning-of-defun. @@ -852,6 +852,96 @@ (c-awk-advise-fl-for-awk-region lazy-lock-defer-rest-after-change) (c-awk-advise-fl-for-awk-region lazy-lock-defer-line-after-change) +;; Awk regexps written with help from Peter Galbraith +;; . +;; Take GNU Emacs's 'words out of the following regexp-opts. They dont work +;; in Xemacs 21.4.4. acm 2002/9/19. +(defconst awk-font-lock-keywords + (eval-when-compile + (list + ;; Function names. + '("^\\s *\\(func\\(tion\\)?\\)\\>\\s *\\(\\sw+\\)?" + (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t)) + ;; + ;; Variable names. + (cons + (concat "\\<" + (regexp-opt + '("ARGC" "ARGIND" "ARGV" "BINMODE" "CONVFMT" "ENVIRON" + "ERRNO" "FIELDWIDTHS" "FILENAME" "FNR" "FS" "IGNORECASE" + "LINT" "NF" "NR" "OFMT" "OFS" "ORS" "PROCINFO" "RLENGTH" + "RS" "RSTART" "RT" "SUBSEP" "TEXTDOMAIN") t) "\\>") + 'font-lock-variable-name-face) + + ;; Special file names. (acm, 2002/7/22) + ;; The following regexp was created by first evaluating this in GNU Emacs 21.1: + ;; (regexp-opt '("/dev/stdin" "/dev/stdout" "/dev/stderr" "/dev/fd/n" "/dev/pid" + ;; "/dev/ppid" "/dev/pgrpid" "/dev/user") 'words) + ;; , removing the "?:" from each "\\(?:" (for backward compatibility with older Emacsen) + ;; , replacing the "n" in "dev/fd/n" with "[0-9]+" + ;; , removing the unwanted \\< at the beginning, and finally filling out the + ;; regexp so that a " must come before, and either a " or heuristic stuff after. + ;; The surrounding quotes are fontified along with the filename, since, semantically, + ;; they are an indivisible unit. + '("\\(\"/dev/\\(fd/[0-9]+\\|p\\(\\(\\(gr\\)?p\\)?id\\)\\|\ +std\\(err\\|in\\|out\\)\\|user\\)\\)\\>\ +\\(\\(\"\\)\\|\\([^\"/\n\r][^\"\n\r]*\\)?$\\)" + (1 font-lock-variable-name-face t) + (8 font-lock-variable-name-face t t)) + ;; Do the same (almost) with + ;; (regexp-opt '("/inet/tcp/lport/rhost/rport" "/inet/udp/lport/rhost/rport" + ;; "/inet/raw/lport/rhost/rport") 'words) + ;; This cannot be combined with the above pattern, because the match number + ;; for the (optional) closing \" would then exceed 9. + '("\\(\"/inet/\\(\\(raw\\|\\(tc\\|ud\\)p\\)/lport/rhost/rport\\)\\)\\>\ +\\(\\(\"\\)\\|\\([^\"/\n\r][^\"\n\r]*\\)?$\\)" + (1 font-lock-variable-name-face t) + (6 font-lock-variable-name-face t t)) + + ;; Keywords. + (concat "\\<" + (regexp-opt + '("BEGIN" "END" "break" "continue" "delete" "do" "else" + "exit" "for" "getline" "if" "in" "next" "nextfile" + "return" "while") + t) "\\>") + + ;; Builtins. + `(eval . (list + ,(concat + "\\<" + (regexp-opt + '("adump" "and" "asort" "atan2" "bindtextdomain" "close" + "compl" "cos" "dcgettext" "exp" "extension" "fflush" + "gensub" "gsub" "index" "int" "length" "log" "lshift" + "match" "mktime" "or" "print" "printf" "rand" "rshift" + "sin" "split" "sprintf" "sqrt" "srand" "stopme" + "strftime" "strtonum" "sub" "substr" "system" + "systime" "tolower" "toupper" "xor") t) + "\\>") + 0 c-preprocessor-face-name)) + + ;; gawk debugging keywords. (acm, 2002/7/21) + ;; (Removed, 2003/6/6. These functions are now fontified as built-ins) + ;; (list (concat "\\<" (regexp-opt '("adump" "stopme") t) "\\>") + ;; 0 'font-lock-warning-face) + + ;; User defined functions with an apparent spurious space before the + ;; opening parenthesis. acm, 2002/5/30. + `(,(concat "\\(\\w\\|_\\)" c-awk-escaped-nls* "\\s " + c-awk-escaped-nls*-with-space* "(") + (0 'font-lock-warning-face)) + + ;; Space after \ in what looks like an escaped newline. 2002/5/31 + '("\\\\\\s +$" 0 font-lock-warning-face t) + + ;; Unbalanced string (") or regexp (/) delimiters. 2002/02/16. + '("\\s|" 0 font-lock-warning-face t nil) + ;; gawk 3.1 localizable strings ( _"translate me!"). 2002/5/21 + '("\\(_\\)\\s|" 1 font-lock-warning-face) + '("\\(_\\)\\s\"" 1 font-lock-string-face) ; FIXME! not for XEmacs. 2002/10/6 + )) + "Default expressions to highlight in AWK mode.") ;; ACM 2002/9/29. Movement functions, e.g. for C-M-a and C-M-e diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el index d39c4880dcc..ecad9174e57 100644 --- a/lisp/progmodes/cc-defs.el +++ b/lisp/progmodes/cc-defs.el @@ -69,14 +69,15 @@ (not (fboundp 'push))) (cc-load "cc-fix"))) -(eval-after-load "font-lock" - '(if (and (not (featurep 'cc-fix)) ; only load the file once. +; (eval-after-load "font-lock" ; 2006-07-09. font-lock is now preloaded +; ' +(if (and (not (featurep 'cc-fix)) ; only load the file once. (featurep 'xemacs) ; There is now (2005/12) code in GNU Emacs CVS ; to make the call to f-l-c-k throw an error. (let (font-lock-keywords) (font-lock-compile-keywords '("\\<\\>")) font-lock-keywords)) ; did the previous call foul this up? - (load "cc-fix"))) + (load "cc-fix")) ;) ;; The above takes care of the delayed loading, but this is necessary ;; to ensure correct byte compilation. @@ -1034,35 +1035,35 @@ MODE is either a mode symbol or a list of mode symbols." ;; Make edebug understand the macros. -(eval-after-load "edebug" - '(progn - (def-edebug-spec cc-eval-when-compile t) - (def-edebug-spec c-point t) - (def-edebug-spec c-set-region-active t) - (def-edebug-spec c-safe t) - (def-edebug-spec c-save-buffer-state let*) - (def-edebug-spec c-tentative-buffer-changes t) - (def-edebug-spec c-forward-syntactic-ws t) - (def-edebug-spec c-backward-syntactic-ws t) - (def-edebug-spec c-forward-sexp t) - (def-edebug-spec c-backward-sexp t) - (def-edebug-spec c-up-list-forward t) - (def-edebug-spec c-up-list-backward t) - (def-edebug-spec c-down-list-forward t) - (def-edebug-spec c-down-list-backward t) - (def-edebug-spec c-add-syntax t) - (def-edebug-spec c-add-class-syntax t) - (def-edebug-spec c-benign-error t) - (def-edebug-spec c-with-syntax-table t) - (def-edebug-spec c-skip-ws-forward t) - (def-edebug-spec c-skip-ws-backward t) - (def-edebug-spec c-major-mode-is t) - (def-edebug-spec c-put-char-property t) - (def-edebug-spec c-get-char-property t) - (def-edebug-spec c-clear-char-property t) - (def-edebug-spec c-clear-char-properties t) - (def-edebug-spec c-put-overlay t) - (def-edebug-spec c-delete-overlay t))) +;(eval-after-load "edebug" ; 2006-07-09: def-edebug-spec is now in subr.el. +; '(progn +(def-edebug-spec cc-eval-when-compile t) +(def-edebug-spec c-point t) +(def-edebug-spec c-set-region-active t) +(def-edebug-spec c-safe t) +(def-edebug-spec c-save-buffer-state let*) +(def-edebug-spec c-tentative-buffer-changes t) +(def-edebug-spec c-forward-syntactic-ws t) +(def-edebug-spec c-backward-syntactic-ws t) +(def-edebug-spec c-forward-sexp t) +(def-edebug-spec c-backward-sexp t) +(def-edebug-spec c-up-list-forward t) +(def-edebug-spec c-up-list-backward t) +(def-edebug-spec c-down-list-forward t) +(def-edebug-spec c-down-list-backward t) +(def-edebug-spec c-add-syntax t) +(def-edebug-spec c-add-class-syntax t) +(def-edebug-spec c-benign-error t) +(def-edebug-spec c-with-syntax-table t) +(def-edebug-spec c-skip-ws-forward t) +(def-edebug-spec c-skip-ws-backward t) +(def-edebug-spec c-major-mode-is t) +(def-edebug-spec c-put-char-property t) +(def-edebug-spec c-get-char-property t) +(def-edebug-spec c-clear-char-property t) +(def-edebug-spec c-clear-char-properties t) +(def-edebug-spec c-put-overlay t) +(def-edebug-spec c-delete-overlay t) ;)) ;;; Functions. @@ -1738,9 +1739,10 @@ constant. A file is identified by its base name." ,@(and pre-files `(',pre-files)))))) (put 'c-lang-defconst 'lisp-indent-function 1) -(eval-after-load "edebug" - '(def-edebug-spec c-lang-defconst - (&define name [&optional stringp] [&rest sexp def-form]))) +;(eval-after-load "edebug" ; 2006-07-09: def-edebug-spec is now in subr.el. +; ' +(def-edebug-spec c-lang-defconst + (&define name [&optional stringp] [&rest sexp def-form])) (defun c-define-lang-constant (name bindings &optional pre-files) ;; Used by `c-lang-defconst'. diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el index 75d631ac399..9c051506888 100644 --- a/lisp/progmodes/cc-fonts.el +++ b/lisp/progmodes/cc-fonts.el @@ -348,15 +348,15 @@ highlights)))) nil))) - (eval-after-load "edebug" - '(progn - (def-edebug-spec c-fontify-types-and-refs let*) - (def-edebug-spec c-make-syntactic-matcher t) - ;; If there are literal quoted or backquoted highlight specs in - ;; the call to `c-make-font-lock-search-function' then let's - ;; instrument the forms in them. - (def-edebug-spec c-make-font-lock-search-function - (form &rest &or ("quote" (&rest form)) ("`" (&rest form)) form))))) +; (eval-after-load "edebug" ; 2006-07-09: def-edebug-spec is now in subr.el. +; '(progn + (def-edebug-spec c-fontify-types-and-refs let*) + (def-edebug-spec c-make-syntactic-matcher t) + ;; If there are literal quoted or backquoted highlight specs in + ;; the call to `c-make-font-lock-search-function' then let's + ;; instrument the forms in them. + (def-edebug-spec c-make-font-lock-search-function + (form &rest &or ("quote" (&rest form)) ("`" (&rest form)) form)));)) (defun c-fontify-recorded-types-and-refs () ;; Convert the ranges recorded on `c-record-type-identifiers' and @@ -2268,101 +2268,7 @@ need for `pike-font-lock-extra-types'.") autodoc-font-lock-doc-comments))))) -;; AWK. - -;; Awk regexps written with help from Peter Galbraith -;; . -;; Take GNU Emacs's 'words out of the following regexp-opts. They dont work -;; in Xemacs 21.4.4. acm 2002/9/19. -(eval-after-load "cc-awk" ; Evaluate while loading cc-fonts - `(defconst awk-font-lock-keywords ; Evaluate after loading cc-awk - ',(eval-when-compile ; Evaluate while compiling cc-fonts - (list - ;; Function names. - '("^\\s *\\(func\\(tion\\)?\\)\\>\\s *\\(\\sw+\\)?" - (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t)) - ;; - ;; Variable names. - (cons - (concat "\\<" - (regexp-opt - '("ARGC" "ARGIND" "ARGV" "BINMODE" "CONVFMT" "ENVIRON" - "ERRNO" "FIELDWIDTHS" "FILENAME" "FNR" "FS" "IGNORECASE" - "LINT" "NF" "NR" "OFMT" "OFS" "ORS" "PROCINFO" "RLENGTH" - "RS" "RSTART" "RT" "SUBSEP" "TEXTDOMAIN") t) "\\>") - 'font-lock-variable-name-face) - - ;; Special file names. (acm, 2002/7/22) - ;; The following regexp was created by first evaluating this in GNU Emacs 21.1: - ;; (regexp-opt '("/dev/stdin" "/dev/stdout" "/dev/stderr" "/dev/fd/n" "/dev/pid" - ;; "/dev/ppid" "/dev/pgrpid" "/dev/user") 'words) - ;; , removing the "?:" from each "\\(?:" (for backward compatibility with older Emacsen) - ;; , replacing the "n" in "dev/fd/n" with "[0-9]+" - ;; , removing the unwanted \\< at the beginning, and finally filling out the - ;; regexp so that a " must come before, and either a " or heuristic stuff after. - ;; The surrounding quotes are fontified along with the filename, since, semantically, - ;; they are an indivisible unit. - '("\\(\"/dev/\\(fd/[0-9]+\\|p\\(\\(\\(gr\\)?p\\)?id\\)\\|\ -std\\(err\\|in\\|out\\)\\|user\\)\\)\\>\ -\\(\\(\"\\)\\|\\([^\"/\n\r][^\"\n\r]*\\)?$\\)" - (1 font-lock-variable-name-face t) - (8 font-lock-variable-name-face t t)) - ;; Do the same (almost) with - ;; (regexp-opt '("/inet/tcp/lport/rhost/rport" "/inet/udp/lport/rhost/rport" - ;; "/inet/raw/lport/rhost/rport") 'words) - ;; This cannot be combined with the above pattern, because the match number - ;; for the (optional) closing \" would then exceed 9. - '("\\(\"/inet/\\(\\(raw\\|\\(tc\\|ud\\)p\\)/lport/rhost/rport\\)\\)\\>\ -\\(\\(\"\\)\\|\\([^\"/\n\r][^\"\n\r]*\\)?$\\)" - (1 font-lock-variable-name-face t) - (6 font-lock-variable-name-face t t)) - - ;; Keywords. - (concat "\\<" - (regexp-opt - '("BEGIN" "END" "break" "continue" "delete" "do" "else" - "exit" "for" "getline" "if" "in" "next" "nextfile" - "return" "while") - t) "\\>") - - ;; Builtins. - `(eval . (list - ,(concat - "\\<" - (regexp-opt - '("adump" "and" "asort" "atan2" "bindtextdomain" "close" - "compl" "cos" "dcgettext" "exp" "extension" "fflush" - "gensub" "gsub" "index" "int" "length" "log" "lshift" - "match" "mktime" "or" "print" "printf" "rand" "rshift" - "sin" "split" "sprintf" "sqrt" "srand" "stopme" - "strftime" "strtonum" "sub" "substr" "system" - "systime" "tolower" "toupper" "xor") t) - "\\>") - 0 c-preprocessor-face-name)) - - ;; gawk debugging keywords. (acm, 2002/7/21) - ;; (Removed, 2003/6/6. These functions are now fontified as built-ins) -;; (list (concat "\\<" (regexp-opt '("adump" "stopme") t) "\\>") -;; 0 'font-lock-warning-face) - - ;; User defined functions with an apparent spurious space before the - ;; opening parenthesis. acm, 2002/5/30. - `(,(concat "\\(\\w\\|_\\)" c-awk-escaped-nls* "\\s " - c-awk-escaped-nls*-with-space* "(") - (0 'font-lock-warning-face)) - - ;; Space after \ in what looks like an escaped newline. 2002/5/31 - '("\\\\\\s +$" 0 font-lock-warning-face t) - - ;; Unbalanced string (") or regexp (/) delimiters. 2002/02/16. - '("\\s|" 0 font-lock-warning-face t nil) - ;; gawk 3.1 localizable strings ( _"translate me!"). 2002/5/21 - '("\\(_\\)\\s|" 1 font-lock-warning-face) - '("\\(_\\)\\s\"" 1 font-lock-string-face) ; FIXME! not for XEmacs. 2002/10/6 - )) - "Default expressions to highlight in AWK mode.")) - - +;; 2006-07-10: awk-font-lock-keywords has been moved back to cc-awk.el. (cc-provide 'cc-fonts) ;;; arch-tag: 2f65f405-735f-4da5-8d4b-b957844c5203 diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el index 8120094f606..e7a0d03cc55 100644 --- a/lisp/progmodes/cc-langs.el +++ b/lisp/progmodes/cc-langs.el @@ -173,9 +173,10 @@ the evaluated constant value at compile time." `',var) (put 'c-lang-defvar 'lisp-indent-function 'defun) -(eval-after-load "edebug" - '(def-edebug-spec c-lang-defvar - (&define name def-form &optional stringp))) +; (eval-after-load "edebug" ; 2006-07-09: def-edebug-spec is now in subr.el. +; ' +(def-edebug-spec c-lang-defvar + (&define name def-form &optional stringp)) ;) (eval-and-compile ;; Some helper functions used when building the language constants. diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el index 9eebdb2bb7f..7343ec735ea 100644 --- a/lisp/progmodes/cc-mode.el +++ b/lisp/progmodes/cc-mode.el @@ -114,8 +114,9 @@ ;; Load cc-fonts first after font-lock is loaded, since it isn't ;; necessary until font locking is requested. -(eval-after-load "font-lock" - '(require 'cc-fonts)) +; (eval-after-load "font-lock" ; 2006-07-09: font-lock is now preloaded. +; ' +(require 'cc-fonts) ;) ;; cc-langs isn't loaded when we're byte compiled, so add autoload ;; directives for the interface functions. From a8d3703121670afd6f09430815992713f71462b4 Mon Sep 17 00:00:00 2001 From: Romain Francoise Date: Mon, 10 Jul 2006 14:58:17 +0000 Subject: [PATCH 099/336] (authors-aliases): Update. --- lisp/ChangeLog | 4 ++++ lisp/emacs-lisp/authors.el | 1 + 2 files changed, 5 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 22737a04678..72496c88dc1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-07-10 Romain Francoise + + * emacs-lisp/authors.el (authors-aliases): Update. + 2006-07-10 Alan Mackenzie * progmodes/cc-awk.el, cc-defs.el, cc-fonts.el, cc-langs.el, diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 7ab0101b2a5..ee49c9a82fc 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el @@ -118,6 +118,7 @@ files.") ("Robert J. Chassell" "Bob Chassell") ("Roland B. Roberts" "Roland B Roberts" "Roland Roberts") ("Rui-Tao Dong" "Rui-Tao Dong ~{6-Hpln~}") + ("Sacha Chua" "Sandra Jean Chua") ("Sam Steingold" "Sam Shteingold") ("Satyaki Das" "Indexed search by Satyaki Das") ("Stefan Monnier" "Stefan") From 77034d43b9504f86df49596cb676f4a01dd17c1a Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Mon, 10 Jul 2006 15:03:10 +0000 Subject: [PATCH 100/336] *** empty log message *** --- lisp/ChangeLog | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 72496c88dc1..a0ca00bc21a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,11 +1,16 @@ +2006-07-10 Kim F. Storm + + * emacs-lisp/authors.el (authors-ignored-files): Ignore changes + to FOR-RELEASE and TODO. + 2006-07-10 Romain Francoise * emacs-lisp/authors.el (authors-aliases): Update. 2006-07-10 Alan Mackenzie - * progmodes/cc-awk.el, cc-defs.el, cc-fonts.el, cc-langs.el, - cc-mode.el: Changes to eradicate eval-after-load. + * progmodes/cc-awk.el, cc-defs.el, cc-fonts.el, cc-langs.el: + * cc-mode.el: Changes to eradicate eval-after-load. 2006-07-09 Chong Yidong From 56e4872562faa46b9d87c0680491983f70640678 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Mon, 10 Jul 2006 15:03:24 +0000 Subject: [PATCH 101/336] (authors-ignored-files): Ignore changes to FOR-RELEASE and TODO. --- lisp/emacs-lisp/authors.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index ee49c9a82fc..912f6b2d77f 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el @@ -169,7 +169,7 @@ listed.") '("external-lisp" "lock" "share-lib" "local-lisp" "noleim-Makefile.in" - "NEWS" "PROBLEMS" "FAQ" "AUTHORS") + "NEWS" "PROBLEMS" "FAQ" "AUTHORS" "FOR-RELEASE" "TODO") "List of files and directories to ignore. Changes to files in this list are not listed.") From 2946191dee63d8cbc6c025bb0c658c77241df76a Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 10 Jul 2006 17:12:09 +0000 Subject: [PATCH 102/336] (edebug): Update page. --- lisp/ChangeLog | 4 ++++ lisp/ldefs-boot.el | 14 +++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a0ca00bc21a..8416aa837cc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-07-10 Richard Stallman + + * ldefs-boot.el (edebug): Update page. + 2006-07-10 Kim F. Storm * emacs-lisp/authors.el (authors-ignored-files): Ignore changes diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index 805c11df701..ee7f9ca1161 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -8218,8 +8218,8 @@ With prefix arg NOCONFIRM, execute current line as-is without editing. ;;;*** ;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form -;;;;;; def-edebug-spec edebug-all-forms edebug-all-defs) "edebug" -;;;;;; "emacs-lisp/edebug.el" (17416 11967)) +;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug" +;;;;;; "emacs-lisp/edebug.el" (17581 24219)) ;;; Generated autoloads from emacs-lisp/edebug.el (defvar edebug-all-defs nil "\ @@ -8242,12 +8242,12 @@ Use the command `edebug-all-forms' to toggle the value of this option.") (custom-autoload (quote edebug-all-forms) "edebug") -(autoload (quote def-edebug-spec) "edebug" "\ -Set the `edebug-form-spec' property of SYMBOL according to SPEC. -Both SYMBOL and SPEC are unevaluated. The SPEC can be 0, t, a symbol -\(naming a function), or a list. +(autoload (quote edebug-basic-spec) "edebug" "\ +Return t if SPEC uses only extant spec symbols. +An extant spec symbol is a symbol that is not a function and has a +`edebug-form-spec' property. -\(fn SYMBOL SPEC)" nil (quote macro)) +\(fn SPEC)" nil nil) (defalias (quote edebug-defun) (quote edebug-eval-top-level-form)) From 7ba07a1a03765521da615a59ce7ee2c596f8341d Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 10 Jul 2006 18:51:31 +0000 Subject: [PATCH 103/336] * puresize.h (BASE_PURESIZE): Increment to 1211000. * dispnew.c (Fredisplay): New function, equivalent to (sit-for 0). (Fsit_for): Function deleted. * keyboard.c (command_loop_1, Fexecute_extended_command): Call sit_for instead of Fsit_for. * minibuf.c (temp_echo_area_glyphs): Likewise. --- src/ChangeLog | 12 +++++++++ src/dispnew.c | 67 +++++++++++--------------------------------------- src/keyboard.c | 50 ++++++++++++++++++++++++------------- src/minibuf.c | 2 +- src/puresize.h | 2 +- 5 files changed, 61 insertions(+), 72 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 79e32451f9d..cefc2f4048d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,15 @@ +2006-07-10 Chong Yidong + + * puresize.h (BASE_PURESIZE): Increment to 1211000. + + * dispnew.c (Fredisplay): New function, equivalent to (sit-for 0). + (Fsit_for): Function deleted. + + * keyboard.c (command_loop_1, Fexecute_extended_command): Call + sit_for instead of Fsit_for. + + * minibuf.c (temp_echo_area_glyphs): Likewise. + 2006-07-09 Stefan Monnier * syntax.c (Fforward_comment): Revert the reversion. diff --git a/src/dispnew.c b/src/dispnew.c index e331d8628f2..857ae40ee34 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -6495,10 +6495,7 @@ Emacs was built without floating point support. /* This is just like wait_reading_process_output, except that - it does the redisplay. - - It's also much like Fsit_for, except that it can be used for - waiting for input as well. */ + it does redisplay. */ Lisp_Object sit_for (sec, usec, reading, display, initial_display) @@ -6535,56 +6532,20 @@ sit_for (sec, usec, reading, display, initial_display) } -DEFUN ("sit-for", Fsit_for, Ssit_for, 1, 3, 0, - doc: /* Perform redisplay, then wait for SECONDS seconds or until input is available. -SECONDS may be a floating-point value, meaning that you can wait for a -fraction of a second. -\(Not all operating systems support waiting for a fraction of a second.) -Optional arg NODISP non-nil means don't redisplay, just wait for input. -Redisplay is preempted as always if input arrives, and does not happen -if input is available before it starts. -Value is t if waited the full time with no input arriving. - -Redisplay will occur even when input is available if SECONDS is negative. - -An obsolete but still supported form is -\(sit-for SECONDS &optional MILLISECONDS NODISP) -Where the optional arg MILLISECONDS specifies an additional wait period, -in milliseconds; this was useful when Emacs was built without -floating point support. -usage: (sit-for SECONDS &optional NODISP OLD-NODISP) */) - -/* The `old-nodisp' stuff is there so that the arglist has the correct - length. Otherwise, `defdvice' will redefine it with fewer args. */ - (seconds, milliseconds, nodisp) - Lisp_Object seconds, milliseconds, nodisp; +DEFUN ("redisplay", Fredisplay, Sredisplay, 0, 0, 0, + doc: /* Perform redisplay. +If input is available before this starts, redisplay is preempted +unless `redisplay-dont-pause' is non-nil. */) + () { - int sec, usec; + swallow_events (Qt); + if ((detect_input_pending_run_timers (Qt) + && NILP (Qredisplay_dont_pause)) + || !NILP (Vexecuting_kbd_macro)) + return Qnil; - if (NILP (nodisp) && !NUMBERP (milliseconds)) - { /* New style. */ - nodisp = milliseconds; - milliseconds = Qnil; - } - - if (NILP (milliseconds)) - XSETINT (milliseconds, 0); - else - CHECK_NUMBER (milliseconds); - usec = XINT (milliseconds) * 1000; - - { - double duration = extract_float (seconds); - sec = (int) duration; - usec += (duration - sec) * 1000000; - } - -#ifndef EMACS_HAS_USECS - if (usec != 0 && sec == 0) - error ("Millisecond `sit-for' not supported on %s", SYSTEM_TYPE); -#endif - - return sit_for (sec, usec, 0, NILP (nodisp), NILP (nodisp)); + redisplay_preserve_echo_area (2); + return Qt; } @@ -6974,7 +6935,7 @@ syms_of_display () defsubr (&Sframe_or_buffer_changed_p); defsubr (&Sopen_termscript); defsubr (&Sding); - defsubr (&Ssit_for); + defsubr (&Sredisplay); defsubr (&Ssleep_for); defsubr (&Ssend_string_to_terminal); defsubr (&Sinternal_show_cursor); diff --git a/src/keyboard.c b/src/keyboard.c index 07388428451..b955daa41d9 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -1488,9 +1488,11 @@ command_loop_1 () /* Bind inhibit-quit to t so that C-g gets read in rather than quitting back to the minibuffer. */ int count = SPECPDL_INDEX (); + double duration = extract_float (Vminibuffer_message_timeout); specbind (Qinhibit_quit, Qt); - Fsit_for (Vminibuffer_message_timeout, Qnil, Qnil); + sit_for ((int) duration, (duration - (int) duration) * 1000000, + 0, Qt, Qt); /* Clear the echo area. */ message2 (0, 0, 0); safe_run_hooks (Qecho_area_clear_hook); @@ -9880,19 +9882,26 @@ give to the command you invoke, if it asks for an argument. */) Qmouse_movement))) { /* But first wait, and skip the message if there is input. */ - int delay_time; - if (!NILP (echo_area_buffer[0])) - /* This command displayed something in the echo area; - so wait a few seconds, then display our suggestion message. */ - delay_time = (NUMBERP (Vsuggest_key_bindings) - ? XINT (Vsuggest_key_bindings) : 2); - else - /* This command left the echo area empty, - so display our message immediately. */ - delay_time = 0; + Lisp_Object waited; - if (!NILP (Fsit_for (make_number (delay_time), Qnil, Qnil)) - && ! CONSP (Vunread_command_events)) + if (!NILP (echo_area_buffer[0])) + { + /* This command displayed something in the echo area; + so wait a few seconds, then display our suggestion message. */ + if (NUMBERP (Vsuggest_key_bindings)) + { + double duration = extract_float (Vminibuffer_message_timeout); + waited = sit_for ((int) duration, + (duration - (int) duration) * 1000000, + 0, Qt, Qt); + } + else + waited = sit_for (2, 0, 0, Qt, Qt); + } + else + waited = sit_for (0, 0, 0, Qt, Qt); + + if (!NILP (waited) && ! CONSP (Vunread_command_events)) { Lisp_Object binding; char *newmessage; @@ -9912,10 +9921,17 @@ give to the command you invoke, if it asks for an argument. */) message2_nolog (newmessage, strlen (newmessage), STRING_MULTIBYTE (binding)); - if (!NILP (Fsit_for ((NUMBERP (Vsuggest_key_bindings) - ? Vsuggest_key_bindings : make_number (2)), - Qnil, Qnil)) - && message_p) + if (NUMBERP (Vsuggest_key_bindings)) + { + double duration = extract_float (Vsuggest_key_bindings); + waited = sit_for ((int) duration, + (duration - (int) duration) * 1000000, + 0, Qt, Qt); + } + else + waited = sit_for (2, 0, 0, Qt, Qt); + + if (!NILP (waited) && message_p) restore_message (); unbind_to (count, Qnil); diff --git a/src/minibuf.c b/src/minibuf.c index 86d24e6647c..af8cfe33e37 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -2692,7 +2692,7 @@ temp_echo_area_glyphs (string) insert_from_string (string, 0, 0, SCHARS (string), SBYTES (string), 0); SET_PT_BOTH (opoint, opoint_byte); Vinhibit_quit = Qt; - Fsit_for (make_number (2), Qnil, Qnil); + sit_for (2, 0, 0, Qt, Qt); del_range_both (osize, osize_byte, ZV, ZV_BYTE, 1); SET_PT_BOTH (opoint, opoint_byte); if (!NILP (Vquit_flag)) diff --git a/src/puresize.h b/src/puresize.h index fa01ad610a1..457a75ea023 100644 --- a/src/puresize.h +++ b/src/puresize.h @@ -43,7 +43,7 @@ Boston, MA 02110-1301, USA. */ #endif #ifndef BASE_PURESIZE -#define BASE_PURESIZE (1210500 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA) +#define BASE_PURESIZE (1211000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA) #endif /* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */ From 7157b8fe893c3d6a213d133588f85117a7d80250 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 10 Jul 2006 18:51:42 +0000 Subject: [PATCH 104/336] Doc fix. --- src/process.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/process.c b/src/process.c index f2c2ddf3e14..857d7494c69 100644 --- a/src/process.c +++ b/src/process.c @@ -5160,7 +5160,7 @@ read_process_output (proc, channel) #endif /* But do it only if the caller is actually going to read events. Otherwise there's no need to make him wake up, and it could - cause trouble (for example it would make Fsit_for return). */ + cause trouble (for example it would make sit_for return). */ if (waiting_for_user_input_p == -1) record_asynch_buffer_change (); @@ -6607,7 +6607,7 @@ exec_sentinel (proc, reason) #endif /* But do it only if the caller is actually going to read events. Otherwise there's no need to make him wake up, and it could - cause trouble (for example it would make Fsit_for return). */ + cause trouble (for example it would make sit_for return). */ if (waiting_for_user_input_p == -1) record_asynch_buffer_change (); From 0369eb8545cb960836e64e81d14bf1db357a925f Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 10 Jul 2006 18:52:13 +0000 Subject: [PATCH 105/336] * subr.el (sit-for): New function. * play/hanoi.el (hanoi-sit-for): Check sit-for return value. --- lisp/ChangeLog | 6 ++++++ lisp/play/hanoi.el | 5 ++--- lisp/subr.el | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8416aa837cc..ec13ee51487 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2006-07-10 Chong Yidong + + * subr.el (sit-for): New function. + + * play/hanoi.el (hanoi-sit-for): Check sit-for return value. + 2006-07-10 Richard Stallman * ldefs-boot.el (edebug): Update page. diff --git a/lisp/play/hanoi.el b/lisp/play/hanoi.el index 296ca82b64a..40a96f4e6c2 100644 --- a/lisp/play/hanoi.el +++ b/lisp/play/hanoi.el @@ -399,9 +399,8 @@ BITS must be of length nrings. Start at START-TIME." ;; update display and pause, quitting with a pithy comment if the user ;; hits a key. (defun hanoi-sit-for (seconds) - (sit-for seconds) - (if (input-pending-p) - (signal 'quit '("I can tell you've had enough")))) + (unless (sit-for seconds) + (signal 'quit '("I can tell you've had enough")))) ;; move ring to a given buffer position and update ring's car. (defun hanoi-ring-to-pos (ring pos) diff --git a/lisp/subr.el b/lisp/subr.el index 9672a7afb76..5c7e1c30cf4 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1699,6 +1699,45 @@ by doing (clear-string STRING)." (sit-for 1) t))) n)) + +(defun sit-for (seconds &optional nodisp obsolete) + "Perform redisplay, then wait for SECONDS seconds or until input is available. +SECONDS may be a floating-point value. +\(On operating systems that do not support waiting for fractions of a +second, floating-point values are rounded down to the nearest integer.) + +If optional arg NODISP is t, don't redisplay, just wait for input. +Redisplay does not happen if input is available before it starts. +However, as a special exception, redisplay will occur even when +input is available if SECONDS is negative. + +Value is t if waited the full time with no input arriving, and nil otherwise. + +An obsolete but still supported form is +\(sit-for SECONDS &optional MILLISECONDS NODISP) +Where the optional arg MILLISECONDS specifies an additional wait period, +in milliseconds; this was useful when Emacs was built without +floating point support." + (when (or obsolete (numberp nodisp)) + (setq seconds (+ seconds (* 1e-3 nodisp))) + (setq nodisp obsolete)) + (unless nodisp + (let ((redisplay-dont-pause (or (< seconds 0) redisplay-dont-pause))) + (redisplay))) + (or (<= seconds 0) + (let ((timer (timer-create)) + (echo-keystrokes 0)) + (if (catch 'sit-for-timeout + (timer-set-time timer (timer-relative-time + (current-time) seconds)) + (timer-set-function timer 'with-timeout-handler + '(sit-for-timeout)) + (timer-activate timer) + (push (read-event) unread-command-events) + nil) + t + (cancel-timer timer) + nil)))) ;;; Atomic change groups. From ca331935fe81579869696a17eacf6eb914ab6809 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 10 Jul 2006 18:54:07 +0000 Subject: [PATCH 106/336] (c-awk-escaped-nls*): Use eval-and-compile to avoid compilation error. --- lisp/progmodes/cc-awk.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el index 4a475784106..c93843f3f82 100644 --- a/lisp/progmodes/cc-awk.el +++ b/lisp/progmodes/cc-awk.el @@ -107,7 +107,8 @@ (eval-and-compile (defconst c-awk-escaped-nl "\\\\[\n\r]")) ;; Matches an escaped newline. -(defconst c-awk-escaped-nls* (concat "\\(" c-awk-escaped-nl "\\)*")) +(eval-and-compile + (defconst c-awk-escaped-nls* (concat "\\(" c-awk-escaped-nl "\\)*"))) ;; Matches a possibly empty sequence of escaped newlines. Used in ;; awk-font-lock-keywords. ;; (defconst c-awk-escaped-nls*-with-space* From d157aaaaf8e09825050c1f6bc47bc4800b175b42 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 10 Jul 2006 18:54:07 +0000 Subject: [PATCH 107/336] * progmodes/cc-awk.el (defconst): Fix compilation error. --- lisp/ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ec13ee51487..5e6f6072c6a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2006-07-10 Chong Yidong + * progmodes/cc-awk.el (defconst): Fix compilation error. + * subr.el (sit-for): New function. * play/hanoi.el (hanoi-sit-for): Check sit-for return value. From 5ee03a180c9e190bbaf79d3316307331fa43b5f7 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 10 Jul 2006 18:55:01 +0000 Subject: [PATCH 108/336] fix typo --- lisp/ChangeLog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5e6f6072c6a..417d3af3f85 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6 +1,7 @@ 2006-07-10 Chong Yidong - * progmodes/cc-awk.el (defconst): Fix compilation error. + * progmodes/cc-awk.el (defconst): Use eval-and-compile to avoid + compilation error. * subr.el (sit-for): New function. From ff3d895e9cceb4a8e36989d4a616e0685a4e2961 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Mon, 10 Jul 2006 22:53:06 +0000 Subject: [PATCH 109/336] *** empty log message *** --- lispref/ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 26bbfdf2022..c49c4fee2ab 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,8 @@ +2006-07-11 Nick Roberts + + * tips.texi (Coding Conventions): Mention macros. + Suggested by Ken Manheimer. + 2006-07-10 Nick Roberts * display.texi (Buttons): Fix typo. From 947829dcbbcc309e729d06c2fb819fb78eca6f9d Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Mon, 10 Jul 2006 22:53:56 +0000 Subject: [PATCH 110/336] (Coding Conventions): Mention macros. Suggested by Ken Manheimer. --- lispref/tips.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lispref/tips.texi b/lispref/tips.texi index 0110ef307b1..4a40b1dc2dd 100644 --- a/lispref/tips.texi +++ b/lispref/tips.texi @@ -118,8 +118,8 @@ run time. Use of this package is optional, and it is not part of the standard Emacs namespace. If your package loads @code{cl} at run time, that could cause name clashes for users who don't use that package. -However, there is no problem with using the @code{cl} package at compile -time, with @code{(eval-when-compile (require 'cl))}. +However, there is no problem with using macros from the @code{cl} +package at compile time, with @code{(eval-when-compile (require 'cl))}. @item When defining a major mode, please follow the major mode From c876e7b757f20e8be135e3b4b0fb27784345bdbb Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Mon, 10 Jul 2006 23:03:59 +0000 Subject: [PATCH 111/336] Modify last change. --- lispref/tips.texi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lispref/tips.texi b/lispref/tips.texi index 4a40b1dc2dd..c8cd4770113 100644 --- a/lispref/tips.texi +++ b/lispref/tips.texi @@ -118,8 +118,9 @@ run time. Use of this package is optional, and it is not part of the standard Emacs namespace. If your package loads @code{cl} at run time, that could cause name clashes for users who don't use that package. -However, there is no problem with using macros from the @code{cl} -package at compile time, with @code{(eval-when-compile (require 'cl))}. +However, there is no problem with using the @code{cl} package at +compile time, e.g. for macros, with +@code{(eval-when-compile (require 'cl))}. @item When defining a major mode, please follow the major mode From 01327edf8885f4ab47d33681582c41879f842217 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Mon, 10 Jul 2006 23:52:38 +0000 Subject: [PATCH 112/336] (Fredisplay): Add FORCE argument to force redisplay when input is available. Fix test for redisplay_dont_pause non-nil. Specbind redisplay-dont-pause to t if FORCE non-nil. --- src/dispnew.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/dispnew.c b/src/dispnew.c index 857ae40ee34..17c5f05053f 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -6532,19 +6532,26 @@ sit_for (sec, usec, reading, display, initial_display) } -DEFUN ("redisplay", Fredisplay, Sredisplay, 0, 0, 0, - doc: /* Perform redisplay. -If input is available before this starts, redisplay is preempted -unless `redisplay-dont-pause' is non-nil. */) - () +DEFUN ("redisplay", Fredisplay, Sredisplay, 0, 1, 0, + doc: /* Perform redisplay if no input is available. +If optional arg FORCE is non-nil, perform a full redisplay even if +input is available. */) + (force) + Lisp_Object force; { + int count; + swallow_events (Qt); if ((detect_input_pending_run_timers (Qt) - && NILP (Qredisplay_dont_pause)) + && NILP (force) && !redisplay_dont_pause) || !NILP (Vexecuting_kbd_macro)) return Qnil; + count = SPECPDL_INDEX (); + if (!NILP (force) && !redisplay_dont_pause) + specbind (Qredisplay_dont_pause, Qt); redisplay_preserve_echo_area (2); + unbind_to (count, Qnil); return Qt; } From b19659b95312392eb1c937d7dd119d1bece8f057 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Mon, 10 Jul 2006 23:54:17 +0000 Subject: [PATCH 113/336] (Fredisplay): Doc fix. --- src/dispnew.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dispnew.c b/src/dispnew.c index 17c5f05053f..cd9a773bdeb 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -6534,8 +6534,8 @@ sit_for (sec, usec, reading, display, initial_display) DEFUN ("redisplay", Fredisplay, Sredisplay, 0, 1, 0, doc: /* Perform redisplay if no input is available. -If optional arg FORCE is non-nil, perform a full redisplay even if -input is available. */) +If optional arg FORCE is non-nil or `rediplay-dont-pause' is non-nil, +perform a full redisplay even if input is available. */) (force) Lisp_Object force; { From a5c2c707c665c02ff70740f5df3562211cb1248a Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 11 Jul 2006 00:13:17 +0000 Subject: [PATCH 114/336] Doc fix. --- src/dispnew.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dispnew.c b/src/dispnew.c index cd9a773bdeb..90376d05057 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -6534,7 +6534,7 @@ sit_for (sec, usec, reading, display, initial_display) DEFUN ("redisplay", Fredisplay, Sredisplay, 0, 1, 0, doc: /* Perform redisplay if no input is available. -If optional arg FORCE is non-nil or `rediplay-dont-pause' is non-nil, +If optional arg FORCE is non-nil or `redisplay-dont-pause' is non-nil, perform a full redisplay even if input is available. */) (force) Lisp_Object force; From d81b041a220f14480725187d00d8761a515f619c Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 00:15:23 +0000 Subject: [PATCH 115/336] *** empty log message *** --- lisp/ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 417d3af3f85..d6a7d9dea03 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-11 Kim F. Storm + + * subr.el (sit-for): Doc fix. Specify normal arg list using fn-form. + Simplify by calling redisplay with non-nil arg if seconds < 0. + 2006-07-10 Chong Yidong * progmodes/cc-awk.el (defconst): Use eval-and-compile to avoid From d8120806749ce933cf24c59514d9553a2edb05d6 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 00:17:43 +0000 Subject: [PATCH 116/336] (sit-for): Doc fix. Specify normal arg list using fn-form. Remove special case for seconds < 0. Use (redisplay t) instead. --- lisp/subr.el | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lisp/subr.el b/lisp/subr.el index 5c7e1c30cf4..d80bec4402a 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1708,22 +1708,21 @@ second, floating-point values are rounded down to the nearest integer.) If optional arg NODISP is t, don't redisplay, just wait for input. Redisplay does not happen if input is available before it starts. -However, as a special exception, redisplay will occur even when -input is available if SECONDS is negative. Value is t if waited the full time with no input arriving, and nil otherwise. -An obsolete but still supported form is +An obsolete, but still supported form is \(sit-for SECONDS &optional MILLISECONDS NODISP) -Where the optional arg MILLISECONDS specifies an additional wait period, +where the optional arg MILLISECONDS specifies an additional wait period, in milliseconds; this was useful when Emacs was built without -floating point support." +floating point support. + +\(fn SECONDS &optional NODISP)" (when (or obsolete (numberp nodisp)) (setq seconds (+ seconds (* 1e-3 nodisp))) (setq nodisp obsolete)) (unless nodisp - (let ((redisplay-dont-pause (or (< seconds 0) redisplay-dont-pause))) - (redisplay))) + (redisplay)) (or (<= seconds 0) (let ((timer (timer-create)) (echo-keystrokes 0)) From a4df70f7df56f20168b56172e4bcdd6937751708 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 00:47:42 +0000 Subject: [PATCH 117/336] (Forcing Redisplay): Add `redisplay' function. Don't mention (sit-for -1) -- use (redisplay t) instead. --- lispref/display.texi | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lispref/display.texi b/lispref/display.texi index 567b9931b48..701957c8ad5 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -113,10 +113,13 @@ prevent or halt redisplay; redisplay occurs, and finishes, regardless of whether input is available. @end defvar -@findex sit-for - You can request a display update, but only if no input is pending, -with @code{(sit-for 0)}. To force a display update even when input is -pending, use @code{(sit-for -1)}. +@defun redisplay &optional force +This function performs an immediate redisplay provided there are no +pending input events. This is equivalent to @code{(sit-for 0)}. + +If the optional argument @var{force} is non-@code{nil}, it forces an +immediate and complete redisplay even if input is available. +@end defun @node Truncation @section Truncation From 9ae011ae3b30bfc85a891e8c9d1daa8425bbbabf Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 00:47:53 +0000 Subject: [PATCH 118/336] (Waiting): (sit-for -1) is no longer special. (sit-for 0) is equivalent to (redisplay). Iconifying/deiconifying no longer makes sit-for return. --- lispref/commands.texi | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/lispref/commands.texi b/lispref/commands.texi index c6f3fcf39b2..2aca1b19253 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi @@ -2543,19 +2543,14 @@ point number, @code{sit-for} waits for a fractional number of seconds. Some systems support only a whole number of seconds; on these systems, @var{seconds} is rounded down. -If @var{seconds} is negative, force a redisplay even if there is -pending input. So use @code{(sit-for -1)} to force a redisplay. - -The expression @code{(sit-for 0)} is a convenient way to request a -redisplay, without any delay, if there is no pending input. @xref{Forcing Redisplay}. +The expression @code{(sit-for 0)} is equivalent to @code{(redisplay)}, +i.e. it requests a redisplay, without any delay, if there is no pending input. +@xref{Forcing Redisplay}. If @var{nodisp} is non-@code{nil}, then @code{sit-for} does not redisplay, but it still returns as soon as input is available (or when the timeout elapses). -Iconifying or deiconifying a frame makes @code{sit-for} return, because -that generates an event. @xref{Misc Events}. - The usual purpose of @code{sit-for} is to give the user time to read text that you display. From ff97f952e6e46bd283eccfcee1fcb4dbf0f74f81 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 00:48:06 +0000 Subject: [PATCH 119/336] *** empty log message *** --- etc/NEWS | 8 ++++++-- lisp/ChangeLog | 2 +- lispref/ChangeLog | 9 +++++++++ src/ChangeLog | 6 ++++++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 9c8156b72e7..80a85e5efd3 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -4900,8 +4900,12 @@ of the display margins. *** `sit-for' can now be called with args (SECONDS &optional NODISP). +++ -*** `sit-for' called with a negative SECONDS value now forces an -immediate redisplay even if input is pending. +*** Iconifying or deiconifying a frame no longer makes sit-for return. + ++++ +*** New function `redisplay' causes an immediate redisplay if no input is +available, equivalent to (sit-for 0). The call (redisplay t) forces +an immediate redisplay even if input is pending. +++ *** New function `force-window-update' can initiate a full redisplay of diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d6a7d9dea03..821cf6357f0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,7 +1,7 @@ 2006-07-11 Kim F. Storm * subr.el (sit-for): Doc fix. Specify normal arg list using fn-form. - Simplify by calling redisplay with non-nil arg if seconds < 0. + Remove special case for seconds < 0. Use (redisplay t) instead. 2006-07-10 Chong Yidong diff --git a/lispref/ChangeLog b/lispref/ChangeLog index c49c4fee2ab..d9453268709 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,12 @@ +2006-07-11 Kim F. Storm + + * display.texi (Forcing Redisplay): Add `redisplay' function. + Don't mention (sit-for -1) -- use (redisplay t) instead. + + * commands.texi (Waiting): (sit-for -1) is no longer special. + (sit-for 0) is equivalent to (redisplay). + Iconifying/deiconifying no longer makes sit-for return. + 2006-07-11 Nick Roberts * tips.texi (Coding Conventions): Mention macros. diff --git a/src/ChangeLog b/src/ChangeLog index cefc2f4048d..d9f914218e1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2006-07-11 Kim F. Storm + + * dispnew.c (Fredisplay): Add FORCE argument to force redisplay when + input is available. Fix test for redisplay_dont_pause non-nil. + Specbind redisplay-dont-pause to t if FORCE non-nil. + 2006-07-10 Chong Yidong * puresize.h (BASE_PURESIZE): Increment to 1211000. From b05b996fe25e1aa24e18e34203c6dac5260a497d Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Tue, 11 Jul 2006 09:36:54 +0000 Subject: [PATCH 120/336] *** empty log message *** --- lisp/ChangeLog | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 821cf6357f0..2dad9e411d7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,20 @@ +2006-07-11 Nick Roberts + + * tumme.el (tumme-create-thumb) + (tumme-thumbnail-display-external, tumme-display-image) + (tumme-rotate-thumbnail, tumme-rotate-original) + (tumme-set-exif-data, tumme-get-exif-data): Use call-process + instead of shell-command. + (tumme-create-thumbnail-buffer) + (tumme-create-display-image-buffer, tumme-display-thumbs) + (tumme-modify-mark-on-thumb-original-file, tumme-display-image) + (tumme-get-exif-data): Use with-current-buffer. + (tumme-display-properties-format) + (tumme-dired-insert-marked-thumbs, tumme-rotate-original) + (tumme-get-exif-file-name) + (tumme-thumbnail-set-image-description, tumme-gallery-generate): + Fit to 80 columns. + 2006-07-11 Kim F. Storm * subr.el (sit-for): Doc fix. Specify normal arg list using fn-form. From c4e153bb821f7ced375441974b0eb765e1e16ffe Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Tue, 11 Jul 2006 09:37:28 +0000 Subject: [PATCH 121/336] (tumme-create-thumb) (tumme-thumbnail-display-external, tumme-display-image) (tumme-rotate-thumbnail, tumme-rotate-original) (tumme-set-exif-data, tumme-get-exif-data): Use call-process instead of shell-command. (tumme-create-thumbnail-buffer) (tumme-create-display-image-buffer, tumme-display-thumbs) (tumme-modify-mark-on-thumb-original-file, tumme-display-image) (tumme-get-exif-data): Use with-current-buffer. (tumme-display-properties-format) (tumme-dired-insert-marked-thumbs, tumme-rotate-original) (tumme-get-exif-file-name) (tumme-thumbnail-set-image-description, tumme-gallery-generate): Fit to 80 columns. --- lisp/tumme.el | 65 +++++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/lisp/tumme.el b/lisp/tumme.el index d6420bf33d7..d97a5d0108f 100644 --- a/lisp/tumme.el +++ b/lisp/tumme.el @@ -491,7 +491,8 @@ with the comment." :group 'tumme) (defcustom tumme-external-viewer - ;; TODO: use mailcap, dired-guess-shell-alist-default, dired-view-command-alist + ;; TODO: Use mailcap, dired-guess-shell-alist-default, + ;; dired-view-command-alist. (cond ((executable-find "display")) ((executable-find "xli")) ((executable-find "qiv") "qiv -t")) @@ -627,7 +628,7 @@ according to the Thumbnail Managing Standard." (setq thumbnail-dir (file-name-directory thumbnail-file)))) (message "Creating thumbnail directory.") (make-directory thumbnail-dir)) - (shell-command command nil))) + (call-process shell-file-name nil nil nil "-c" command))) ;;;###autoload (defun tumme-dired-insert-marked-thumbs () @@ -643,8 +644,10 @@ according to the Thumbnail Managing Standard." ;; Can't use (overlays-at (point)), BUG? (overlays-in (point) (1+ (point))))) (put-image thumb-file image-pos) - (setq overlay (car (delq nil (mapcar (lambda (o) (and (overlay-get o 'put-image) o)) - (overlays-in (point) (1+ (point))))))) + (setq + overlay + (car (delq nil (mapcar (lambda (o) (and (overlay-get o 'put-image) o)) + (overlays-in (point) (1+ (point))))))) (overlay-put overlay 'image-file image-file) (overlay-put overlay 'thumb-file thumb-file))) nil) @@ -716,8 +719,7 @@ Otherwise, delete overlays." (defun tumme-create-thumbnail-buffer () "Create thumb buffer and set `tumme-thumbnail-mode'." (let ((buf (get-buffer-create tumme-thumbnail-buffer))) - (save-excursion - (set-buffer buf) + (with-current-buffer buf (setq buffer-read-only t) (if (not (eq major-mode 'tumme-thumbnail-mode)) (tumme-thumbnail-mode))) @@ -729,8 +731,7 @@ Otherwise, delete overlays." (defun tumme-create-display-image-buffer () "Create image display buffer and set `tumme-display-image-mode'." (let ((buf (get-buffer-create tumme-display-image-buffer))) - (save-excursion - (set-buffer buf) + (with-current-buffer buf (setq buffer-read-only t) (if (not (eq major-mode 'tumme-display-image-mode)) (tumme-display-image-mode))) @@ -812,8 +813,7 @@ thumbnail buffer to be selected." (setq files (list (dired-get-filename))) (setq files (dired-get-marked-files))) (setq dired-buf (current-buffer)) - (save-excursion - (set-buffer buf) + (with-current-buffer buf (let ((inhibit-read-only t)) (if (not append) (erase-buffer) @@ -1170,10 +1170,9 @@ dired." (dired-buf (tumme-associated-dired-buffer))) (if (not (and dired-buf file-name)) (message "No image, or image with correct properties, at point.") - (save-excursion + (with-current-buffer dired-buf (message file-name) (setq file-name (file-name-nondirectory file-name)) - (set-buffer dired-buf) (goto-char (point-min)) (if (search-forward file-name nil t) (cond ((eq command 'mark) (dired-mark 1)) @@ -1294,7 +1293,8 @@ You probably want to use this together with (define-key tumme-thumbnail-mode-map "L" 'tumme-rotate-original-left) (define-key tumme-thumbnail-mode-map "R" 'tumme-rotate-original-right) - (define-key tumme-thumbnail-mode-map "D" 'tumme-thumbnail-set-image-description) + (define-key tumme-thumbnail-mode-map "D" + 'tumme-thumbnail-set-image-description) (define-key tumme-thumbnail-mode-map "\C-d" 'tumme-delete-char) (define-key tumme-thumbnail-mode-map " " @@ -1686,25 +1686,22 @@ Ask user how many thumbnails should be displayed per row." (defun tumme-thumbnail-display-external () "Display original image for thumbnail at point using external viewer." - (interactive) (let ((file (tumme-original-file-name))) (if (not (tumme-image-at-point-p)) (message "No thumbnail at point") (if (not file) (message "No original file name found") - (shell-command (format "%s \"%s\"" - tumme-external-viewer - file)))))) + (call-process shell-file-name nil nil nil "-c" + (format "%s \"%s\"" tumme-external-viewer file)))))) ;;;###autoload (defun tumme-dired-display-external () "Display file at point using an external viewer." (interactive) (let ((file (dired-get-filename))) - (shell-command (format "%s \"%s\"" - tumme-external-viewer - file)))) + (call-process shell-file-name nil nil nil "-c" + (format "%s \"%s\"" tumme-external-viewer file)))) (defun tumme-window-width-pixels (window) "Calculate WINDOW width in pixels." @@ -1776,12 +1773,11 @@ original size." (cons ?h height) (cons ?f file) (cons ?t new-file)))) - (setq ret (shell-command command nil)) + (setq ret (call-process shell-file-name nil nil nil "-c" command)) (if (not (= 0 ret)) (error "Could not resize image"))) (copy-file file new-file t)) - (save-excursion - (set-buffer (tumme-create-display-image-buffer)) + (with-current-buffer (tumme-create-display-image-buffer) (let ((inhibit-read-only t)) (erase-buffer) (clear-image-cache) @@ -1829,7 +1825,7 @@ With prefix argument ARG, display image in its original size." (cons ?p tumme-cmd-rotate-thumbnail-program) (cons ?d degrees) (cons ?t (expand-file-name file))))) - (shell-command command nil) + (call-process shell-file-name nil nil nil "-c" command) ;; Clear the cache to refresh image. I wish I could just refresh ;; the current file but I do not know how to do that. Yet... (clear-image-cache)))) @@ -1874,11 +1870,12 @@ overwritten. This confirmation can be turned off using (cons ?d degrees) (cons ?o (expand-file-name file)) (cons ?t tumme-temp-rotate-image-file)))) - (if (not (= 0 (shell-command command nil))) + (if (not (= 0 (call-process shell-file-name nil nil nil "-c" command))) (error "Could not rotate image") (tumme-display-image tumme-temp-rotate-image-file) (if (or (and tumme-rotate-original-ask-before-overwrite - (y-or-n-p "Rotate to temp file OK. Overwrite original image? ")) + (y-or-n-p + "Rotate to temp file OK. Overwrite original image? ")) (not tumme-rotate-original-ask-before-overwrite)) (progn (copy-file tumme-temp-rotate-image-file file t) @@ -1910,7 +1907,8 @@ YYYY_MM_DD_HH_MM_DD_ORIG_FILE_NAME.jpg. Used from (format-time-string "%Y:%m:%d %H:%M:%S" (nth 5 (file-attributes (expand-file-name file)))))) - (setq data (tumme-get-exif-data (expand-file-name file) "DateTimeOriginal"))) + (setq data (tumme-get-exif-data (expand-file-name file) + "DateTimeOriginal"))) (while (string-match "[ :]" data) (setq data (replace-match "_" nil nil data))) (format "%s%s%s" data @@ -1930,7 +1928,8 @@ default value at the prompt." (old-value (tumme-get-exif-data file "ImageDescription"))) (if (eq 0 (tumme-set-exif-data file "ImageDescription" - (read-string "Value of ImageDescription: " old-value))) + (read-string "Value of ImageDescription: " + old-value))) (message "Successfully wrote ImageDescription tag.") (error "Could not write ImageDescription tag"))))) @@ -1944,7 +1943,7 @@ default value at the prompt." (cons ?f (expand-file-name file)) (cons ?t tag-name) (cons ?v tag-value)))) - (shell-command command nil))) + (call-process shell-file-name nil nil nil "-c" command))) (defun tumme-get-exif-data (file tag-name) "From FILE, return EXIF tag TAG-NAME." @@ -1956,10 +1955,9 @@ default value at the prompt." (cons ?p tumme-cmd-read-exif-data-program) (cons ?f file) (cons ?t tag-name)))) - (save-excursion - (set-buffer buf) + (with-current-buffer buf (delete-region (point-min) (point-max)) - (if (not (eq (shell-command command buf) 0)) + (if (not (eq (call-process shell-file-name nil t nil "-c" command) 0)) (error "Could not get EXIF tag") (goto-char (point-min)) ;; Clean buffer from newlines and carriage returns before @@ -2377,7 +2375,8 @@ when using per-directory thumbnail file storage")) ;; Insert thumbnail with link to full image (insert (format "\n" - tumme-gallery-image-root-url (file-name-nondirectory file) + tumme-gallery-image-root-url + (file-name-nondirectory file) tumme-gallery-thumb-image-root-url (file-name-nondirectory (tumme-thumb-name file)) file)) ;; Insert comment, if any From 783dab628f93fd6b88f5b39ab838ae758d283cbf Mon Sep 17 00:00:00 2001 From: "Robert J. Chassell" Date: Tue, 11 Jul 2006 10:14:08 +0000 Subject: [PATCH 122/336] * textmodes/texinfmt.el: Finally remember to set texinfmt-version to new date and version number. --- lisp/textmodes/texinfmt.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el index 95c1cba3b7e..9e0b6b63901 100644 --- a/lisp/textmodes/texinfmt.el +++ b/lisp/textmodes/texinfmt.el @@ -37,7 +37,7 @@ (defmacro defcustom (var value doc &rest ignore) `(defvar ,var ,value ,doc))) -(defvar texinfmt-version "2.41 of 1 Mar 2005") +(defvar texinfmt-version "2.42 of 7 Jul 2006") (defun texinfmt-version (&optional here) "Show the version of texinfmt.el in the minibuffer. From ed48e7e816fe869ad4c156e6cb6b4517e6144251 Mon Sep 17 00:00:00 2001 From: "Robert J. Chassell" Date: Tue, 11 Jul 2006 10:36:42 +0000 Subject: [PATCH 123/336] Re-attempt commit. --- lisp/ChangeLog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2dad9e411d7..06c13af51da 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2006-07-11 Robert J. Chassell + + * textmodes/texinfmt.el: (texinfo-format-separate-node): + Insert a string before point, which fits documentation, not after. + (texinfo-multitable-item): In a multitable row, insert any + additional needed @tabs and spaces. + 2006-07-11 Nick Roberts * tumme.el (tumme-create-thumb) From 327891ebb92b3af2a1377c93f851e2e4a8a70f06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Potort=C3=AC?= Date: Tue, 11 Jul 2006 11:01:27 +0000 Subject: [PATCH 124/336] (absolute_filename): Free unused space (cosmetic change). (in_word_set): In C, also tag #undef symbols. --- lib-src/ChangeLog | 5 ++ lib-src/etags.c | 129 ++++++++++++++++++++++++++-------------------- 2 files changed, 78 insertions(+), 56 deletions(-) diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 040f155221f..e792753b748 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,8 @@ +2006-07-10 Francesco Potort,Al(B + + * etags.c (absolute_filename): Free unused space (cosmetic change). + (in_word_set): In C, also tag #undef symbols. + 2006-06-09 Eli Zaretskii * yow.c: Remove file. diff --git a/lib-src/etags.c b/lib-src/etags.c index e206443f39b..b5ff33c8b4c 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -41,7 +41,7 @@ * configuration file containing regexp definitions for etags. */ -char pot_etags_version[] = "@(#) pot revision number is 17.17"; +char pot_etags_version[] = "@(#) pot revision number is 17.18"; #define TRUE 1 #define FALSE 0 @@ -2457,6 +2457,7 @@ extern, 0, st_C_extern enum, 0, st_C_enum typedef, 0, st_C_typedef define, 0, st_C_define +undef, 0, st_C_define operator, C_PLPL, st_C_operator template, 0, st_C_template # DEFUN used in emacs, the next three used in glibc (SYSCALL only for mach). @@ -2475,10 +2476,10 @@ and replace lines between %< and %> with its output, then: /*%<*/ /* C code produced by gperf version 3.0.1 */ /* Command-line: gperf -m 5 */ -/* Computed positions: -k'1-2' */ +/* Computed positions: -k'2-3' */ struct C_stab_entry { char *name; int c_ext; enum sym_type type; }; -/* maximum key range = 31, duplicates = 0 */ +/* maximum key range = 33, duplicates = 0 */ #ifdef __GNUC__ __inline @@ -2494,34 +2495,45 @@ hash (str, len) { static unsigned char asso_values[] = { - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 1, 34, 34, 34, 14, 14, - 34, 34, 34, 34, 34, 34, 34, 34, 13, 34, - 13, 34, 34, 12, 34, 34, 34, 34, 34, 11, - 34, 34, 34, 34, 34, 8, 34, 11, 34, 12, - 11, 0, 1, 34, 7, 0, 34, 34, 11, 9, - 0, 4, 0, 34, 7, 4, 14, 21, 34, 15, - 0, 2, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34 + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 15, + 14, 35, 35, 35, 35, 35, 35, 35, 14, 35, + 35, 35, 35, 12, 13, 35, 35, 35, 35, 12, + 35, 35, 35, 35, 35, 1, 35, 16, 35, 6, + 23, 0, 0, 35, 22, 0, 35, 35, 5, 0, + 0, 15, 1, 35, 6, 35, 8, 19, 35, 16, + 4, 5, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35 }; - return len + asso_values[(unsigned char)str[1]] + asso_values[(unsigned char)str[0]]; + register int hval = len; + + switch (hval) + { + default: + hval += asso_values[(unsigned char)str[2]]; + /*FALLTHROUGH*/ + case 2: + hval += asso_values[(unsigned char)str[1]]; + break; + } + return hval; } static struct C_stab_entry * @@ -2531,46 +2543,48 @@ in_word_set (str, len) { enum { - TOTAL_KEYWORDS = 31, + TOTAL_KEYWORDS = 32, MIN_WORD_LENGTH = 2, MAX_WORD_LENGTH = 15, - MIN_HASH_VALUE = 3, - MAX_HASH_VALUE = 33 + MIN_HASH_VALUE = 2, + MAX_HASH_VALUE = 34 }; static struct C_stab_entry wordlist[] = { - {""}, {""}, {""}, + {""}, {""}, {"if", 0, st_C_ignore}, - {"enum", 0, st_C_enum}, + {""}, {"@end", 0, st_C_objend}, + {"union", 0, st_C_struct}, + {"define", 0, st_C_define}, + {"import", (C_JAVA & !C_PLPL), st_C_ignore}, + {"template", 0, st_C_template}, + {"operator", C_PLPL, st_C_operator}, + {"@interface", 0, st_C_objprot}, + {"implements", (C_JAVA & !C_PLPL), st_C_javastruct}, + {"friend", C_PLPL, st_C_ignore}, + {"typedef", 0, st_C_typedef}, + {"return", 0, st_C_ignore}, + {"@implementation",0, st_C_objimpl}, + {"@protocol", 0, st_C_objprot}, + {"interface", (C_JAVA & !C_PLPL), st_C_struct}, {"extern", 0, st_C_extern}, {"extends", (C_JAVA & !C_PLPL), st_C_javastruct}, - {"for", 0, st_C_ignore}, - {"interface", (C_JAVA & !C_PLPL), st_C_struct}, - {"@protocol", 0, st_C_objprot}, - {"@interface", 0, st_C_objprot}, - {"operator", C_PLPL, st_C_operator}, - {"return", 0, st_C_ignore}, - {"friend", C_PLPL, st_C_ignore}, - {"import", (C_JAVA & !C_PLPL), st_C_ignore}, - {"@implementation",0, st_C_objimpl}, - {"define", 0, st_C_define}, - {"package", (C_JAVA & !C_PLPL), st_C_ignore}, - {"implements", (C_JAVA & !C_PLPL), st_C_javastruct}, - {"namespace", C_PLPL, st_C_struct}, - {"domain", C_STAR, st_C_struct}, - {"template", 0, st_C_template}, - {"typedef", 0, st_C_typedef}, {"struct", 0, st_C_struct}, + {"domain", C_STAR, st_C_struct}, {"switch", 0, st_C_ignore}, - {"union", 0, st_C_struct}, - {"while", 0, st_C_ignore}, + {"enum", 0, st_C_enum}, + {"for", 0, st_C_ignore}, + {"namespace", C_PLPL, st_C_struct}, {"class", 0, st_C_class}, + {"while", 0, st_C_ignore}, + {"undef", 0, st_C_define}, + {"package", (C_JAVA & !C_PLPL), st_C_ignore}, {"__attribute__", 0, st_C_attribute}, {"SYSCALL", 0, st_C_gnumacro}, - {"PSEUDO", 0, st_C_gnumacro}, {"ENTRY", 0, st_C_gnumacro}, + {"PSEUDO", 0, st_C_gnumacro}, {"DEFUN", 0, st_C_gnumacro} }; @@ -6786,8 +6800,11 @@ absolute_filename (file, dir) slashp = etags_strchr (slashp + 1, '/'); } - if (res[0] == '\0') - return savestr ("/"); + if (res[0] == '\0') /* just a safety net: should never happen */ + { + free (res); + return savestr ("/"); + } else return res; } From af02e17730675bbf087f6df5b17302af6c829610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Potort=C3=AC?= Date: Tue, 11 Jul 2006 11:03:11 +0000 Subject: [PATCH 125/336] **** In C and derived languages, etags creates tags for #undef --- etc/NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index 80a85e5efd3..4ee8f74fa4a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -3049,6 +3049,8 @@ specified to etags, variables are tags also. The new keywords are def, newcommand, renewcommand, newenvironment and renewenvironment. +**** In C and derived languages, etags creates tags for #undef + *** Honor #line directives. When Etags parses an input file that contains C preprocessor's #line From 5f7c79f92974b72dd3c7b56d3a844b8bd27ca2cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Potort=C3=AC?= Date: Tue, 11 Jul 2006 11:08:31 +0000 Subject: [PATCH 126/336] etags now tags #undef, too --- man/maintaining.texi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/man/maintaining.texi b/man/maintaining.texi index cff12dfb026..facde7020bc 100644 --- a/man/maintaining.texi +++ b/man/maintaining.texi @@ -182,7 +182,8 @@ convenient. Each name recorded is called a @dfn{tag}. @item In C code, any C function or typedef is a tag, and so are definitions of @code{struct}, @code{union} and @code{enum}. -@code{#define} macro definitions and @code{enum} constants are also +@code{#define} macro definitions, @code{#undef} and @code{enum} +constants are also tags, unless you specify @samp{--no-defines} when making the tags table. Similarly, global variables are tags, unless you specify @samp{--no-globals}. Use of @samp{--no-globals} and @samp{--no-defines} From a0aa7fcfd817d220c5ecc2a82f70da67f949f9a5 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 11 Jul 2006 13:52:21 +0000 Subject: [PATCH 127/336] (forw_comment): Also use EMACS_INT for buffer positions. --- src/ChangeLog | 8 ++++++-- src/syntax.c | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index d9f914218e1..8a69f99cc48 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2006-07-11 Stefan Monnier + + * syntax.c (forw_comment): Also use EMACS_INT for buffer positions. + 2006-07-11 Kim F. Storm * dispnew.c (Fredisplay): Add FORCE argument to force redisplay when @@ -11,8 +15,8 @@ * dispnew.c (Fredisplay): New function, equivalent to (sit-for 0). (Fsit_for): Function deleted. - * keyboard.c (command_loop_1, Fexecute_extended_command): Call - sit_for instead of Fsit_for. + * keyboard.c (command_loop_1, Fexecute_extended_command): + Call sit_for instead of Fsit_for. * minibuf.c (temp_echo_area_glyphs): Likewise. diff --git a/src/syntax.c b/src/syntax.c index eb37cbb647f..fe458644caa 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1891,9 +1891,10 @@ in_classes (c, iso_classes) static int forw_comment (from, from_byte, stop, nesting, style, prev_syntax, charpos_ptr, bytepos_ptr, incomment_ptr) - int from, from_byte, stop; + EMACS_INT from, from_byte, stop; int nesting, style, prev_syntax; - int *charpos_ptr, *bytepos_ptr, *incomment_ptr; + EMACS_INT *charpos_ptr, *bytepos_ptr; + int *incomment_ptr; { register int c, c1; register enum syntaxcode code; From bc684c16bcafecd1f79bef4441ae9d76b0ab3a49 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 11 Jul 2006 15:03:24 +0000 Subject: [PATCH 128/336] Remove spurious * in docstrings. (url-cookie-write-file): Don't use versioned backups. (url-cookie-host-can-set-p): Remove unused var `tmp'. (url-cookie-save-interval): Move to url-cookie group. (url-cookie-write-file): Reset url-cookies-changed-since-last-save. --- lisp/url/ChangeLog | 11 +++++++++++ lisp/url/url-cookie.el | 21 +++++++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 8eb2cd8471b..e8848528e18 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,14 @@ +2006-07-11 Stefan Monnier + + * url-cookie.el: Remove spurious * in docstrings. + (url-cookie-write-file): Don't use versioned backups. + (url-cookie-host-can-set-p): Remove unused var `tmp'. + +2006-07-04 Andreas Seltenreich (tiny change) + + * url-cookie.el (url-cookie-save-interval): Move to url-cookie group. + (url-cookie-write-file): Reset url-cookies-changed-since-last-save. + 2006-05-12 Reiner Steib * url-http.el (url-http-file-exists-p): Test if status is integer. diff --git a/lisp/url/url-cookie.el b/lisp/url/url-cookie.el index 53ba75f4cbb..e74d4989117 100644 --- a/lisp/url/url-cookie.el +++ b/lisp/url/url-cookie.el @@ -88,18 +88,18 @@ A cookie vector object is a vector of 7 slots: (defvar url-cookie-storage nil "Where cookies are stored.") (defvar url-cookie-secure-storage nil "Where secure cookies are stored.") (defcustom url-cookie-file nil - "*File where cookies are stored on disk." + "File where cookies are stored on disk." :type '(choice (const :tag "Default" :value nil) file) :group 'url-file :group 'url-cookie) (defcustom url-cookie-confirmation nil - "*If non-nil, confirmation by the user is required to accept HTTP cookies." + "If non-nil, confirmation by the user is required to accept HTTP cookies." :type 'boolean :group 'url-cookie) (defcustom url-cookie-multiple-line nil - "*If nil, HTTP requests put all cookies for the server on one line. + "If nil, HTTP requests put all cookies for the server on one line. Some web servers, such as http://www.hotmail.com/, only accept cookies when they are on one line. This is broken behavior, but just try telling Microsoft that." @@ -168,7 +168,13 @@ telling Microsoft that." (insert ")\n(setq url-cookie-secure-storage\n '") (pp url-cookie-secure-storage (current-buffer)) (insert ")\n") + (insert " ;; Local Variables:\n" + ";; version-control: never\n" + ";; no-byte-compile: t\n" + ";; End:\n") + (set (make-local-variable 'version-control) t) (write-file fname) + (setq url-cookies-changed-since-last-save nil) (kill-buffer (current-buffer)))))) (defun url-cookie-store (name value &optional expires domain localpart secure) @@ -313,18 +319,17 @@ telling Microsoft that." '.'s in the domain name in order to set a cookie.") (defcustom url-cookie-trusted-urls nil - "*A list of regular expressions matching URLs to always accept cookies from." + "A list of regular expressions matching URLs to always accept cookies from." :type '(repeat regexp) :group 'url-cookie) (defcustom url-cookie-untrusted-urls nil - "*A list of regular expressions matching URLs to never accept cookies from." + "A list of regular expressions matching URLs to never accept cookies from." :type '(repeat regexp) :group 'url-cookie) (defun url-cookie-host-can-set-p (host domain) (let ((numdots 0) - (tmp domain) (last nil) (case-fold-search t) (mindots 3)) @@ -444,7 +449,7 @@ telling Microsoft that." (defvar url-cookie-timer nil) (defcustom url-cookie-save-interval 3600 - "*The number of seconds between automatic saves of cookies. + "The number of seconds between automatic saves of cookies. Default is 1 hour. Note that if you change this variable outside of the `customize' interface after `url-do-setup' has been run, you need to run the `url-cookie-setup-save-timer' function manually." @@ -453,7 +458,7 @@ to run the `url-cookie-setup-save-timer' function manually." (if (bound-and-true-p url-setup-done) (url-cookie-setup-save-timer))) :type 'integer - :group 'url) + :group 'url-cookie) (defun url-cookie-setup-save-timer () "Reset the cookie saver timer." From b8fa0ffd0cc04a300b52fbf28ab0850c2f34cc09 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 11 Jul 2006 15:08:33 +0000 Subject: [PATCH 129/336] (compilation-error-regexp-alist-alist): Fix ambiguity introduced by last change. (compilation-find-file): Move save-excursion to where it may make sense. Fix a left over `find-file'. --- lisp/ChangeLog | 15 ++++-- lisp/progmodes/compile.el | 101 ++++++++++++++++++++------------------ 2 files changed, 65 insertions(+), 51 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 06c13af51da..b15d8f1fb01 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,9 +1,16 @@ +2006-07-11 Stefan Monnier + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fix ambiguity introduced by last change. + (compilation-find-file): Move save-excursion to where it may + make sense. Fix a left over `find-file'. + 2006-07-11 Robert J. Chassell * textmodes/texinfmt.el: (texinfo-format-separate-node): - Insert a string before point, which fits documentation, not after. - (texinfo-multitable-item): In a multitable row, insert any - additional needed @tabs and spaces. + Insert a string before point, which fits documentation, not after. + (texinfo-multitable-item): In a multitable row, insert any + additional needed @tabs and spaces. 2006-07-11 Nick Roberts @@ -19,7 +26,7 @@ (tumme-display-properties-format) (tumme-dired-insert-marked-thumbs, tumme-rotate-original) (tumme-get-exif-file-name) - (tumme-thumbnail-set-image-description, tumme-gallery-generate): + (tumme-thumbnail-set-image-description, tumme-gallery-generate): Fit to 80 columns. 2006-07-11 Kim F. Storm diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 5f10bec032a..3c63d5f01b1 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -223,8 +223,13 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) \\(.+\\):\\([0-9]+\\)\\(?:\\(:\\)\\|\\(,\\)\\)?" 1 2 nil (3 . 4)) (gnu + ;; I have no idea what this first line is supposed to match, but it + ;; makes things ambiguous with output such as "foo:344:50:blabla" since + ;; the "foo" part can match this first line (in which case the file + ;; name as "344"). To avoid this, we disallow filenames exclusively + ;; composed of digits. --Stef "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\)?\ -\\(.+?\\): ?\ +\\([0-9]*[^0-9\n].*?\\): ?\ \\([0-9]+\\)\\(?:\\([.:]\\)\\([0-9]+\\)\\)?\ \\(?:-\\([0-9]+\\)?\\(?:\\3\\([0-9]+\\)\\)?\\)?:\ \\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\ @@ -293,7 +298,7 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?" \\(?:: \\(warning:\\)?\\|$\\| ),\\)" 1 2 nil (3)) (gcov-file - "^ *-: *\\(0\\):Source:\\(.+\\)$" + "^ *-: *\\(0\\):Source:\\(.+\\)$" 2 1 nil 0 nil (1 compilation-line-face prepend) (2 compilation-info-face prepend)) (gcov-header @@ -312,11 +317,11 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?" (1 compilation-line-face prepend)) (gcov-called-line "^ *\\([0-9]+\\): *\\([0-9]+\\):.*$" - nil 2 nil 0 nil + nil 2 nil 0 nil (0 'default t) (1 compilation-info-face prepend) (2 compilation-line-face prepend)) (gcov-never-called - "^ *\\(#####\\): *\\([0-9]+\\):.*$" + "^ *\\(#####\\): *\\([0-9]+\\):.*$" nil 2 nil 2 nil (0 'default t) (1 compilation-error-face prepend) (2 compilation-line-face prepend)) @@ -1796,49 +1801,51 @@ If DIRECTORY. is nil, that means use `default-directory'. If FILENAME is not found at all, ask the user where to find it. Pop up the buffer containing MARKER and scroll to MARKER if we ask the user." (or formats (setq formats '("%s"))) - (save-excursion - (let ((dirs compilation-search-path) - (spec-dir (if directory - (expand-file-name directory) - default-directory)) - buffer thisdir fmts name) - (if (file-name-absolute-p filename) - ;; The file name is absolute. Use its explicit directory as - ;; the first in the search path, and strip it from FILENAME. - (setq filename (abbreviate-file-name (expand-file-name filename)) - dirs (cons (file-name-directory filename) dirs) - filename (file-name-nondirectory filename))) - ;; Now search the path. - (while (and dirs (null buffer)) - (setq thisdir (or (car dirs) spec-dir) - fmts formats) - ;; For each directory, try each format string. - (while (and fmts (null buffer)) - (setq name (expand-file-name (format (car fmts) filename) thisdir) - buffer (and (file-exists-p name) - (find-file-noselect name)) - fmts (cdr fmts))) - (setq dirs (cdr dirs))) - (or buffer - ;; The file doesn't exist. Ask the user where to find it. - (let ((pop-up-windows t)) - (compilation-set-window (display-buffer (marker-buffer marker)) - marker) - (let ((name (expand-file-name - (read-file-name - (format "Find this %s in (default %s): " - compilation-error filename) - spec-dir filename t)))) - (if (file-directory-p name) - (setq name (expand-file-name filename name))) - (setq buffer (and (file-exists-p name) - (find-file name)))))) - ;; Make intangible overlays tangible. - (mapcar (function (lambda (ov) - (when (overlay-get ov 'intangible) - (overlay-put ov 'intangible nil)))) - (overlays-in (point-min) (point-max))) - buffer))) + (let ((dirs compilation-search-path) + (spec-dir (if directory + (expand-file-name directory) + default-directory)) + buffer thisdir fmts name) + (if (file-name-absolute-p filename) + ;; The file name is absolute. Use its explicit directory as + ;; the first in the search path, and strip it from FILENAME. + (setq filename (abbreviate-file-name (expand-file-name filename)) + dirs (cons (file-name-directory filename) dirs) + filename (file-name-nondirectory filename))) + ;; Now search the path. + (while (and dirs (null buffer)) + (setq thisdir (or (car dirs) spec-dir) + fmts formats) + ;; For each directory, try each format string. + (while (and fmts (null buffer)) + (setq name (expand-file-name (format (car fmts) filename) thisdir) + buffer (and (file-exists-p name) + (find-file-noselect name)) + fmts (cdr fmts))) + (setq dirs (cdr dirs))) + (or buffer + ;; The file doesn't exist. Ask the user where to find it. + (save-excursion ;This save-excursion is probably not right. + (let ((pop-up-windows t)) + (compilation-set-window (display-buffer (marker-buffer marker)) + marker) + (let ((name (expand-file-name + (read-file-name + (format "Find this %s in (default %s): " + compilation-error filename) + spec-dir filename t)))) + (if (file-directory-p name) + (setq name (expand-file-name filename name))) + (setq buffer (and (file-exists-p name) + (find-file-noselect name))))))) + ;; Make intangible overlays tangible. + ;; This is very weird: it's not even clear which is the current buffer, + ;; so the code below can't be expected to DTRT here. --Stef + (mapcar (function (lambda (ov) + (when (overlay-get ov 'intangible) + (overlay-put ov 'intangible nil)))) + (overlays-in (point-min) (point-max))) + buffer)) (defun compilation-get-file-structure (file &optional fmt) "Retrieve FILE's file-structure or create a new one. From ce4746a36acbc91144f038c96c75f07b4165f403 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 11 Jul 2006 16:39:50 +0000 Subject: [PATCH 130/336] * progmodes/ebrowse.el (ebrowse-display-member-buffer): Avoid using with-output-to-temp-buffer, which clobbers local vars. --- lisp/ChangeLog | 5 +++++ lisp/progmodes/ebrowse.el | 34 +++++++++++++++++----------------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b15d8f1fb01..7bf32e705ae 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-11 Chong Yidong + + * progmodes/ebrowse.el (ebrowse-display-member-buffer): Avoid + using with-output-to-temp-buffer, which clobbers local vars. + 2006-07-11 Stefan Monnier * progmodes/compile.el (compilation-error-regexp-alist-alist): diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el index 3c328697a20..7a45dcd655e 100644 --- a/lisp/progmodes/ebrowse.el +++ b/lisp/progmodes/ebrowse.el @@ -2734,24 +2734,24 @@ means the member buffer is standalone. CLASS is its class." ;; is on if not specified as an argument. (unless class (setq class (ebrowse-tree-at-point))) - (with-output-to-temp-buffer ebrowse-member-buffer-name - (save-excursion - (set-buffer standard-output) + (save-selected-window + (if temp-buffer + (pop-to-buffer temp-buffer) + (pop-to-buffer (get-buffer-create ebrowse-member-buffer-name)) ;; If new buffer, set the mode and initial values of locals - (unless temp-buffer - (ebrowse-member-mode)) - ;; Set local variables - (setq ebrowse--member-list (funcall list class) - ebrowse--displayed-class class - ebrowse--accessor list - ebrowse--tree-obarray classes - ebrowse--frozen-flag stand-alone - ebrowse--tags-file-name tags-file-name - ebrowse--header header - ebrowse--tree tree - buffer-read-only t) - (ebrowse-redisplay-member-buffer) - (current-buffer))))) + (ebrowse-member-mode)) + ;; Set local variables + (setq ebrowse--member-list (funcall list class) + ebrowse--displayed-class class + ebrowse--accessor list + ebrowse--tree-obarray classes + ebrowse--frozen-flag stand-alone + ebrowse--tags-file-name tags-file-name + ebrowse--header header + ebrowse--tree tree + buffer-read-only t) + (ebrowse-redisplay-member-buffer) + (current-buffer)))) (defun ebrowse-member-display-p (member) From 0f7ea453189db2bf2d61302f2e9c234e5589f432 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 11 Jul 2006 18:39:32 +0000 Subject: [PATCH 131/336] * vc.el (vc-exec-after): Don't delete process manually. (vc-print-log): Run log-view-mode in process sentinel inside inhibit-read-only. Don't shrink window due to timing issues. --- lisp/ChangeLog | 4 ++++ lisp/vc.el | 15 ++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7bf32e705ae..bf2faf44f63 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2006-07-11 Chong Yidong + * vc.el (vc-exec-after): Don't delete process manually. + (vc-print-log): Run log-view-mode in process sentinel inside + inhibit-read-only. Don't shrink window due to timing issues. + * progmodes/ebrowse.el (ebrowse-display-member-buffer): Avoid using with-output-to-temp-buffer, which clobbers local vars. diff --git a/lisp/vc.el b/lisp/vc.el index 8290fd5b943..d72ee4c7e4e 100644 --- a/lisp/vc.el +++ b/lisp/vc.el @@ -934,11 +934,12 @@ Else, add CODE to the process' sentinel." (let ((proc (get-buffer-process (current-buffer)))) (cond ;; If there's no background process, just execute the code. - ((null proc) (eval code)) - ;; If the background process has exited, reap it and try again - ((eq (process-status proc) 'exit) - (delete-process proc) - (vc-exec-after code)) + ;; We used to explicitly call delete-process on exited processes, + ;; but this led to timing problems causing process output to be + ;; lost. Terminated processes get deleted automatically + ;; anyway. -- cyd + ((or (null proc) (eq (process-status proc) 'exit)) + (eval code)) ;; If a process is running, add CODE to the sentinel ((eq (process-status proc) 'run) (let ((sentinel (process-sentinel proc))) @@ -2446,9 +2447,9 @@ If FOCUS-REV is non-nil, leave the point at that revision." (vc-call print-log file) (set-buffer "*vc*")))) (pop-to-buffer (current-buffer)) - (log-view-mode) (vc-exec-after `(let ((inhibit-read-only t)) + (log-view-mode) (goto-char (point-max)) (forward-line -1) (while (looking-at "=*\n") (delete-char (- (match-end 0) (match-beginning 0))) @@ -2456,7 +2457,7 @@ If FOCUS-REV is non-nil, leave the point at that revision." (goto-char (point-min)) (if (looking-at "[\b\t\n\v\f\r ]+") (delete-char (- (match-end 0) (match-beginning 0)))) - (shrink-window-if-larger-than-buffer) + ;; (shrink-window-if-larger-than-buffer) ;; move point to the log entry for the current version (vc-call-backend ',(vc-backend file) 'show-log-entry From 04f02e711782b888b9618aa48ae27bc7a73cd017 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 11 Jul 2006 18:42:24 +0000 Subject: [PATCH 132/336] undo-ask-before-discard set to nil. --- admin/FOR-RELEASE | 3 --- 1 file changed, 3 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 3f34f352824..853fdc9d3bf 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -2,9 +2,6 @@ Tasks needed before the next release. * TO BE DONE SHORTLY BEFORE RELEASE -** `undo-ask-before-discard', currently set to t for debugging purposes -has to be set to nil: when t, it can leak memory and cause other problems. - ** Update release dates of manuals. ** Get rid of overfull and underfull boxes in manuals. From 1223933d597a0e5828734b4a3067dc1337171539 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 11 Jul 2006 19:15:33 +0000 Subject: [PATCH 133/336] * simple.el (undo-ask-before-discard): Set to nil. --- lisp/ChangeLog | 2 ++ lisp/simple.el | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bf2faf44f63..749f7cc352f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2006-07-11 Chong Yidong + * simple.el (undo-ask-before-discard): Set to nil. + * vc.el (vc-exec-after): Don't delete process manually. (vc-print-log): Run log-view-mode in process sentinel inside inhibit-read-only. Don't shrink window due to timing issues. diff --git a/lisp/simple.el b/lisp/simple.el index 94fe6b431e4..2af4bbd1d76 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -1669,7 +1669,7 @@ is not *inside* the region START...END." '(0 . 0))) '(0 . 0))) -(defcustom undo-ask-before-discard t +(defcustom undo-ask-before-discard nil "If non-nil ask about discarding undo info for the current command. Normally, Emacs discards the undo info for the current command if it exceeds `undo-outer-limit'. But if you set this option From 902b9b6dde55700238923e598e20bce33ed3bca8 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 20:09:26 +0000 Subject: [PATCH 134/336] (sit_for): Reduce number of args from 5 to 3. Now just one TIMEOUT arg that can be a Lisp float or Lisp int. Combine args DISPLAY and INITIAL_DISPLAY into one arg DO_DISPLAY. Undo 2006-06-14 change for non-preemptive display if TIMEOUT < 0. The rework of sit_for args also fixes several incorrect Qt args which should have been 1. (Fredisplay): Pass 1 instead of Qt to swallow_events and detect_input_pending_run_timers. --- src/dispnew.c | 43 ++++++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/src/dispnew.c b/src/dispnew.c index 90376d05057..3519e2d64fe 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -6495,27 +6495,40 @@ Emacs was built without floating point support. /* This is just like wait_reading_process_output, except that - it does redisplay. */ + it does redisplay. + + TIMEOUT is number of seconds to wait (float or integer). + READING is 1 if reading input. + If DO_DISPLAY is >0 display process output while waiting. + If DO_DISPLAY is >1 perform an initial redisplay before waiting. +*/ Lisp_Object -sit_for (sec, usec, reading, display, initial_display) - int sec, usec, reading, display, initial_display; +sit_for (timeout, reading, do_display) + Lisp_Object timeout; + int reading, do_display; { - int preempt = (sec > 0) || (sec == 0 && usec >= 0); + int sec, usec; - swallow_events (display); + swallow_events (do_display); - if ((detect_input_pending_run_timers (display) && preempt) + if ((detect_input_pending_run_timers (do_display)) || !NILP (Vexecuting_kbd_macro)) return Qnil; - if (initial_display) + if (do_display >= 2) + redisplay_preserve_echo_area (2); + + if (FLOATP (timeout)) { - int count = SPECPDL_INDEX (); - if (!preempt) - specbind (Qredisplay_dont_pause, Qt); - redisplay_preserve_echo_area (2); - unbind_to (count, Qnil); + double seconds = XFLOAT_DATA (timeout); + sec = (int) seconds; + usec = (int) ((seconds - sec) * 1000000); + } + else + { + sec = XFASTINT (timeout); + usec = 0; } if (sec == 0 && usec == 0) @@ -6525,7 +6538,7 @@ sit_for (sec, usec, reading, display, initial_display) gobble_input (0); #endif - wait_reading_process_output (sec, usec, reading ? -1 : 1, display, + wait_reading_process_output (sec, usec, reading ? -1 : 1, do_display, Qnil, NULL, 0); return detect_input_pending () ? Qnil : Qt; @@ -6541,8 +6554,8 @@ perform a full redisplay even if input is available. */) { int count; - swallow_events (Qt); - if ((detect_input_pending_run_timers (Qt) + swallow_events (1); + if ((detect_input_pending_run_timers (1) && NILP (force) && !redisplay_dont_pause) || !NILP (Vexecuting_kbd_macro)) return Qnil; From 6a6be67ad3559a92ea8c8425efc87162da69b0e7 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 20:09:49 +0000 Subject: [PATCH 135/336] (sit_for): Remove prototype. --- src/dispextern.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/dispextern.h b/src/dispextern.h index 1dfcf136aeb..6aff0dc1803 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -2968,7 +2968,6 @@ int scrolling P_ ((struct frame *)); void do_pending_window_change P_ ((int)); void change_frame_size P_ ((struct frame *, int, int, int, int, int)); void bitch_at_user P_ ((void)); -Lisp_Object sit_for P_ ((int, int, int, int, int)); void init_display P_ ((void)); void syms_of_display P_ ((void)); extern Lisp_Object Qredisplay_dont_pause; From ab9b1db5949e1afa1782a2fefcffe19fb9fd850d Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 20:09:59 +0000 Subject: [PATCH 136/336] (sit_for): Update prototype. (Fredisplay): Add EXFUN. --- src/lisp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lisp.h b/src/lisp.h index 400dc8d639a..d6c4a1ba609 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -2469,8 +2469,8 @@ EXFUN (Fding, 1); EXFUN (Fredraw_frame, 1); EXFUN (Fredraw_display, 0); EXFUN (Fsleep_for, 2); -EXFUN (Fsit_for, 3); -extern Lisp_Object sit_for P_ ((int, int, int, int, int)); +EXFUN (Fredisplay, 1); +extern Lisp_Object sit_for P_ ((Lisp_Object, int, int)); extern void init_display P_ ((void)); extern void syms_of_display P_ ((void)); extern void safe_bcopy P_ ((const char *, char *, int)); From 7ca462f695b60384865a9458a7abe79098a0d679 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 20:10:34 +0000 Subject: [PATCH 137/336] (temp_echo_area_glyphs): Update/simplify sit_for calls. --- src/minibuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/minibuf.c b/src/minibuf.c index af8cfe33e37..9c56ea8618e 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -2692,7 +2692,7 @@ temp_echo_area_glyphs (string) insert_from_string (string, 0, 0, SCHARS (string), SBYTES (string), 0); SET_PT_BOTH (opoint, opoint_byte); Vinhibit_quit = Qt; - sit_for (2, 0, 0, Qt, Qt); + sit_for (make_number (2), 0, 2); del_range_both (osize, osize_byte, ZV, ZV_BYTE, 1); SET_PT_BOTH (opoint, opoint_byte); if (!NILP (Vquit_flag)) From 666dc232b0361c65e3a22cfa16bf733a6c043c1b Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 20:10:56 +0000 Subject: [PATCH 138/336] (command_loop_1, read_char, Fexecute_extended_command): Update/simplify sit_for calls. --- src/keyboard.c | 50 ++++++++++++++++---------------------------------- 1 file changed, 16 insertions(+), 34 deletions(-) diff --git a/src/keyboard.c b/src/keyboard.c index b955daa41d9..5e808739d6b 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -1488,11 +1488,10 @@ command_loop_1 () /* Bind inhibit-quit to t so that C-g gets read in rather than quitting back to the minibuffer. */ int count = SPECPDL_INDEX (); - double duration = extract_float (Vminibuffer_message_timeout); specbind (Qinhibit_quit, Qt); - sit_for ((int) duration, (duration - (int) duration) * 1000000, - 0, Qt, Qt); + sit_for (Vminibuffer_message_timeout, 0, 2); + /* Clear the echo area. */ message2 (0, 0, 0); safe_run_hooks (Qecho_area_clear_hook); @@ -2691,8 +2690,6 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu) /* Or not echoing before and echoing allowed. */ || (!echo_kboard && ok_to_echo_at_next_pause))) { - Lisp_Object tem0; - /* After a mouse event, start echoing right away. This is because we are probably about to display a menu, and we don't want to delay before doing so. */ @@ -2700,13 +2697,11 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu) echo_now (); else { - int sec, usec; - double duration = extract_float (Vecho_keystrokes); - sec = (int) duration; - usec = (duration - sec) * 1000000; + Lisp_Object tem0; + save_getcjmp (save_jump); restore_getcjmp (local_getcjmp); - tem0 = sit_for (sec, usec, 1, 1, 0); + tem0 = sit_for (Vecho_keystrokes, 1, 1); restore_getcjmp (save_jump); if (EQ (tem0, Qt) && ! CONSP (Vunread_command_events)) @@ -2773,11 +2768,11 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu) && XINT (Vauto_save_timeout) > 0) { Lisp_Object tem0; + int timeout = delay_level * XFASTINT (Vauto_save_timeout) / 4; save_getcjmp (save_jump); restore_getcjmp (local_getcjmp); - tem0 = sit_for (delay_level * XFASTINT (Vauto_save_timeout) / 4, - 0, 1, 1, 0); + tem0 = sit_for (make_number (timeout), 1, 1); restore_getcjmp (save_jump); if (EQ (tem0, Qt) @@ -9884,22 +9879,14 @@ give to the command you invoke, if it asks for an argument. */) /* But first wait, and skip the message if there is input. */ Lisp_Object waited; - if (!NILP (echo_area_buffer[0])) - { - /* This command displayed something in the echo area; - so wait a few seconds, then display our suggestion message. */ - if (NUMBERP (Vsuggest_key_bindings)) - { - double duration = extract_float (Vminibuffer_message_timeout); - waited = sit_for ((int) duration, - (duration - (int) duration) * 1000000, - 0, Qt, Qt); - } - else - waited = sit_for (2, 0, 0, Qt, Qt); - } + /* If this command displayed something in the echo area; + wait a few seconds, then display our suggestion message. */ + if (NILP (echo_area_buffer[0])) + waited = sit_for (make_number (0), 0, 2); + else if (NUMBERP (Vsuggest_key_bindings)) + waited = sit_for (Vminibuffer_message_timeout, 0, 2); else - waited = sit_for (0, 0, 0, Qt, Qt); + waited = sit_for (make_number (2), 0, 2); if (!NILP (waited) && ! CONSP (Vunread_command_events)) { @@ -9922,14 +9909,9 @@ give to the command you invoke, if it asks for an argument. */) strlen (newmessage), STRING_MULTIBYTE (binding)); if (NUMBERP (Vsuggest_key_bindings)) - { - double duration = extract_float (Vsuggest_key_bindings); - waited = sit_for ((int) duration, - (duration - (int) duration) * 1000000, - 0, Qt, Qt); - } + waited = sit_for (Vsuggest_key_bindings, 0, 2); else - waited = sit_for (2, 0, 0, Qt, Qt); + waited = sit_for (make_number (2), 0, 2); if (!NILP (waited) && message_p) restore_message (); From 83f8d90363c117b200bdffe80949e4bd212c6196 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 20:11:10 +0000 Subject: [PATCH 139/336] (Fdo_auto_save): Update/simplify sit_for calls. --- src/fileio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fileio.c b/src/fileio.c index 839bf86af53..b4fc934900b 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -6055,7 +6055,7 @@ A non-nil CURRENT-ONLY argument means save only current buffer. */) { /* If we are going to restore an old message, give time to read ours. */ - sit_for (1, 0, 0, 0, 0); + sit_for (make_number (1), 0, 0); restore_message (); } else From e7c4e229ca21e2b93cb65ea055b6f000862feed5 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 20:11:23 +0000 Subject: [PATCH 140/336] (Fcall_interactively): Update/simplify sit_for calls. --- src/callint.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/callint.c b/src/callint.c index ae10e64e1de..741f61d068b 100644 --- a/src/callint.c +++ b/src/callint.c @@ -721,10 +721,10 @@ If KEYS is omitted or nil, the return value of `this-command-keys' is used. */) do { Lisp_Object tem; - if (! first) + if (! first) { message ("Please enter a number."); - sit_for (1, 0, 0, 0, 0); + sit_for (make_number (1), 0, 0); } first = 0; From 27313250fb0126a311a53777e6a84233c05fd2dc Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 20:12:40 +0000 Subject: [PATCH 141/336] Add space for clarity. --- lisp/help-mode.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/help-mode.el b/lisp/help-mode.el index f4ab3de5a4a..72b2554185f 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -168,7 +168,7 @@ The format is (FUNCTION ARGS...).") (let ((location (find-variable-noselect var file))) (pop-to-buffer (car location)) (goto-char (cdr location)))) - 'help-echo (purecopy"mouse-2, RET: find variable's definition")) + 'help-echo (purecopy "mouse-2, RET: find variable's definition")) (define-button-type 'help-face-def :supertype 'help-xref From 2e42ee7bfb8ce50dd829b4b15d2013cd1e2ace9f Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 20:13:40 +0000 Subject: [PATCH 142/336] *** empty log message *** --- lisp/ChangeLog | 5 +++++ src/ChangeLog | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 749f7cc352f..3575c3441d0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-11 Kim F. Storm + + * ido.el (ido-copy-current-file-name): Use buffer-name if + buffer-file-name is nil. + 2006-07-11 Chong Yidong * simple.el (undo-ask-before-discard): Set to nil. diff --git a/src/ChangeLog b/src/ChangeLog index 8a69f99cc48..182dea1afda 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,24 @@ +2006-07-11 Kim F. Storm + + * dispnew.c (sit_for): Reduce number of args from 5 to 3. + Now just one TIMEOUT arg that can be a Lisp float or Lisp int. + Combine args DISPLAY and INITIAL_DISPLAY into one arg DO_DISPLAY. + Undo 2006-06-14 change for non-preemptive display if TIMEOUT < 0. + The rework of sit_for args also fixes several incorrect Qt args + which should have been 1. + (Fredisplay): Pass 1 instead of Qt to swallow_events and + detect_input_pending_run_timers. + + * lisp.h (sit_for): Update prototype. + (Fredisplay): Add EXFUN. + + * dispextern.h (sit_for): Remove prototype. + + * callint.c (Fcall_interactively): + * minibuf.c (temp_echo_area_glyphs): + * keyboard.c (command_loop_1, read_char, Fexecute_extended_command): + * fileio.c (Fdo_auto_save): Update/simplify sit_for calls. + 2006-07-11 Stefan Monnier * syntax.c (forw_comment): Also use EMACS_INT for buffer positions. From bac4dbd166a05e22635cd1cc18ecb0c694ab2ce2 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 20:13:59 +0000 Subject: [PATCH 143/336] (ido-copy-current-file-name): Use buffer-name if buffer-file-name is nil. --- lisp/ido.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/ido.el b/lisp/ido.el index a4c26b52c98..be1cba62f27 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -2895,7 +2895,8 @@ With \\[universal-argument], pop all element." "Insert file name of current buffer. If repeated, insert text from buffer instead." (interactive "P") - (let* ((bfname (buffer-file-name ido-entry-buffer)) + (let* ((bfname (or (buffer-file-name ido-entry-buffer) + (buffer-name ido-entry-buffer))) (name (and bfname (file-name-nondirectory bfname)))) (when name (setq ido-text-init From 8e09f23fbf217926f2d1d1e2c71e393d9e74c891 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 11 Jul 2006 22:55:29 +0000 Subject: [PATCH 144/336] (sit_for): Signal error if TIMEOUT is not a number in case arg comes directly from a Lisp variable. --- src/ChangeLog | 1 + src/dispnew.c | 18 +++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 182dea1afda..02b51115719 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -3,6 +3,7 @@ * dispnew.c (sit_for): Reduce number of args from 5 to 3. Now just one TIMEOUT arg that can be a Lisp float or Lisp int. Combine args DISPLAY and INITIAL_DISPLAY into one arg DO_DISPLAY. + Signal error if TIMEOUT is not a number. Undo 2006-06-14 change for non-preemptive display if TIMEOUT < 0. The rework of sit_for args also fixes several incorrect Qt args which should have been 1. diff --git a/src/dispnew.c b/src/dispnew.c index 3519e2d64fe..018717e591f 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -6519,17 +6519,21 @@ sit_for (timeout, reading, do_display) if (do_display >= 2) redisplay_preserve_echo_area (2); - if (FLOATP (timeout)) - { - double seconds = XFLOAT_DATA (timeout); - sec = (int) seconds; - usec = (int) ((seconds - sec) * 1000000); - } - else + if (INTEGERP (timeout)) { sec = XFASTINT (timeout); usec = 0; } + else if (FLOATP (timeout)) + { + double seconds; + + seconds = XFLOAT_DATA (timeout); + sec = (int) seconds; + usec = (int) ((seconds - sec) * 1000000); + } + else + wrong_type_argument (Qnumberp, timeout); if (sec == 0 && usec == 0) return Qt; From 78fc0ace98a7656c4baacb91a2a87a7ee652c8e8 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Wed, 12 Jul 2006 00:23:48 +0000 Subject: [PATCH 145/336] *** empty log message *** --- lisp/ChangeLog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3575c3441d0..0154ff83245 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2006-07-12 Nick Roberts + + * tumme.el (tumme-create-thumb) + (tumme-thumbnail-display-external, tumme-display-image) + (tumme-rotate-thumbnail, tumme-rotate-original) + (tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch. + + * thumbs.el (thumbs-call-convert): Use shell-command-switch. + 2006-07-11 Kim F. Storm * ido.el (ido-copy-current-file-name): Use buffer-name if From ff77218157b4ccc3681d49e053cac4d3d4a0bd98 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Wed, 12 Jul 2006 00:24:14 +0000 Subject: [PATCH 146/336] (thumbs-call-convert): Use shell-command-switch. --- lisp/thumbs.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/thumbs.el b/lisp/thumbs.el index ff5fcf2b33c..e9a640973bb 100644 --- a/lisp/thumbs.el +++ b/lisp/thumbs.el @@ -256,7 +256,7 @@ ACTION-PREFIX is the symbol to place before the ACTION command filein (or output-format "jpeg") fileout))) - (call-process shell-file-name nil nil nil "-c" command))) + (call-process shell-file-name nil nil nil shell-command-switch command))) (defun thumbs-new-image-size (s increment) "New image (a cons of width x height)." From e194e890589673839e16dfebe649297c211395bb Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Wed, 12 Jul 2006 00:24:40 +0000 Subject: [PATCH 147/336] (tumme-create-thumb) (tumme-thumbnail-display-external, tumme-display-image) (tumme-rotate-thumbnail, tumme-rotate-original) (tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch. --- lisp/tumme.el | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lisp/tumme.el b/lisp/tumme.el index d97a5d0108f..26d48e77b2f 100644 --- a/lisp/tumme.el +++ b/lisp/tumme.el @@ -628,7 +628,7 @@ according to the Thumbnail Managing Standard." (setq thumbnail-dir (file-name-directory thumbnail-file)))) (message "Creating thumbnail directory.") (make-directory thumbnail-dir)) - (call-process shell-file-name nil nil nil "-c" command))) + (call-process shell-file-name nil nil nil shell-command-switch command))) ;;;###autoload (defun tumme-dired-insert-marked-thumbs () @@ -1692,7 +1692,7 @@ Ask user how many thumbnails should be displayed per row." (message "No thumbnail at point") (if (not file) (message "No original file name found") - (call-process shell-file-name nil nil nil "-c" + (call-process shell-file-name nil nil nil shell-command-switch (format "%s \"%s\"" tumme-external-viewer file)))))) ;;;###autoload @@ -1700,7 +1700,7 @@ Ask user how many thumbnails should be displayed per row." "Display file at point using an external viewer." (interactive) (let ((file (dired-get-filename))) - (call-process shell-file-name nil nil nil "-c" + (call-process shell-file-name nil nil nil shell-command-switch (format "%s \"%s\"" tumme-external-viewer file)))) (defun tumme-window-width-pixels (window) @@ -1773,7 +1773,8 @@ original size." (cons ?h height) (cons ?f file) (cons ?t new-file)))) - (setq ret (call-process shell-file-name nil nil nil "-c" command)) + (setq ret (call-process shell-file-name nil nil nil + shell-command-switch command)) (if (not (= 0 ret)) (error "Could not resize image"))) (copy-file file new-file t)) @@ -1825,7 +1826,7 @@ With prefix argument ARG, display image in its original size." (cons ?p tumme-cmd-rotate-thumbnail-program) (cons ?d degrees) (cons ?t (expand-file-name file))))) - (call-process shell-file-name nil nil nil "-c" command) + (call-process shell-file-name nil nil nil shell-command-switch command) ;; Clear the cache to refresh image. I wish I could just refresh ;; the current file but I do not know how to do that. Yet... (clear-image-cache)))) @@ -1870,7 +1871,8 @@ overwritten. This confirmation can be turned off using (cons ?d degrees) (cons ?o (expand-file-name file)) (cons ?t tumme-temp-rotate-image-file)))) - (if (not (= 0 (call-process shell-file-name nil nil nil "-c" command))) + (if (not (= 0 (call-process shell-file-name nil nil nil + shell-command-switch command))) (error "Could not rotate image") (tumme-display-image tumme-temp-rotate-image-file) (if (or (and tumme-rotate-original-ask-before-overwrite @@ -1943,7 +1945,7 @@ default value at the prompt." (cons ?f (expand-file-name file)) (cons ?t tag-name) (cons ?v tag-value)))) - (call-process shell-file-name nil nil nil "-c" command))) + (call-process shell-file-name nil nil nil shell-command-switch command))) (defun tumme-get-exif-data (file tag-name) "From FILE, return EXIF tag TAG-NAME." @@ -1957,7 +1959,8 @@ default value at the prompt." (cons ?t tag-name)))) (with-current-buffer buf (delete-region (point-min) (point-max)) - (if (not (eq (call-process shell-file-name nil t nil "-c" command) 0)) + (if (not (eq (call-process shell-file-name nil t nil + shell-command-switch command) 0)) (error "Could not get EXIF tag") (goto-char (point-min)) ;; Clean buffer from newlines and carriage returns before From 625088623c53102f90b991182ed9324fc74b6095 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Wed, 12 Jul 2006 00:33:19 +0000 Subject: [PATCH 148/336] Change iota subscriptum transliteration in Ibycus4 encoding's capitals from "i" to "|". --- leim/ChangeLog | 5 +++++ leim/quail/greek.el | 54 ++++++++++++++++++++++----------------------- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/leim/ChangeLog b/leim/ChangeLog index e792141aff7..9b35715b5db 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog @@ -1,3 +1,8 @@ +2006-07-12 David Kastrup + + * quail/greek.el: Change iota subscriptum transliteration in + Ibycus4 encoding's capitals from "i" to "|". + 2006-03-03 Claudio Fontana * Makefile.in (install): Add DESTDIR variable to support staged diff --git a/leim/quail/greek.el b/leim/quail/greek.el index 3ab09c63b37..78a788009dc 100644 --- a/leim/quail/greek.el +++ b/leim/quail/greek.el @@ -1016,14 +1016,14 @@ nil t t nil nil nil nil nil nil nil t) ("a)=|" ?$,1qF(B) ("a(=|" ?$,1qG(B) - (")Ai" ?$,1qH(B) - ("(Ai" ?$,1qI(B) - (")`Ai" ?$,1qJ(B) - ("(`Ai" ?$,1qK(B) - (")'Ai" ?$,1qL(B) - ("('Ai" ?$,1qM(B) - (")=Ai" ?$,1qN(B) - ("(=Ai" ?$,1qO(B) + (")A|" ?$,1qH(B) + ("(A|" ?$,1qI(B) + (")`A|" ?$,1qJ(B) + ("(`A|" ?$,1qK(B) + (")'A|" ?$,1qL(B) + ("('A|" ?$,1qM(B) + (")=A|" ?$,1qN(B) + ("(=A|" ?$,1qO(B) ("h)|" ?$,1qP(B) ("h(|" ?$,1qQ(B) @@ -1034,14 +1034,14 @@ nil t t nil nil nil nil nil nil nil t) ("h)=|" ?$,1qV(B) ("h(=|" ?$,1qW(B) - (")Hi" ?$,1qX(B) - ("(Hi" ?$,1qY(B) - (")`Hi" ?$,1qZ(B) - ("(`Hi" ?$,1q[(B) - (")'Hi" ?$,1q\(B) - ("('Hi" ?$,1q](B) - (")=Hi" ?$,1q^(B) - ("(=Hi" ?$,1q_(B) + (")H|" ?$,1qX(B) + ("(H|" ?$,1qY(B) + (")`H|" ?$,1qZ(B) + ("(`H|" ?$,1q[(B) + (")'H|" ?$,1q\(B) + ("('H|" ?$,1q](B) + (")=H|" ?$,1q^(B) + ("(=H|" ?$,1q_(B) ("w)|" ?$,1q`(B) ("w(|" ?$,1qa(B) @@ -1052,14 +1052,14 @@ nil t t nil nil nil nil nil nil nil t) ("w)=|" ?$,1qf(B) ("w(=|" ?$,1qg(B) - (")Wi" ?$,1qh(B) - ("(Wi" ?$,1qi(B) - (")`Wi" ?$,1qj(B) - ("(`Wi" ?$,1qk(B) - (")'Wi" ?$,1ql(B) - ("('Wi" ?$,1qm(B) - (")=Wi" ?$,1qn(B) - ("(=Wi" ?$,1qo(B) + (")W|" ?$,1qh(B) + ("(W|" ?$,1qi(B) + (")`W|" ?$,1qj(B) + ("(`W|" ?$,1qk(B) + (")'W|" ?$,1ql(B) + ("('W|" ?$,1qm(B) + (")=W|" ?$,1qn(B) + ("(=W|" ?$,1qo(B) ("a`|" ?$,1qr(B) ("a|" ?$,1qs(B) @@ -1069,7 +1069,7 @@ nil t t nil nil nil nil nil nil nil t) ("`A" ?$,1qz(B) ("'A" ?$,1q{(B) - ("Ai" ?$,1q|(B) + ("A|" ?$,1q|(B) (")" ?$,1q(B) ; #x1fbf ; psili ("=" ?$,1r (B) ; #x1fc0 ; perispomeni @@ -1086,7 +1086,7 @@ nil t t nil nil nil nil nil nil nil t) ("`H" ?$,1r*(B) ("'H" ?$,1r+(B) - ("Hi" ?$,1r,(B) + ("H|" ?$,1r,(B) (")`" ?$,1r-(B) ; #x1fcd (")'" ?$,1r.(B) ; #x1fce @@ -1133,7 +1133,7 @@ nil t t nil nil nil nil nil nil nil t) ("`W" ?$,1rZ(B) ("'W" ?$,1r[(B) - ("Wi" ?$,1r\(B) + ("W|" ?$,1r\(B) ("'" ?$,1r](B) ; #x1ffd ; oxia ("(" ?$,1r^(B) ; #x1ffe ; dasia From 7ff147735137794affec748b42a4a77db7be27c8 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 08:21:23 +0000 Subject: [PATCH 149/336] (sit_for): Use XINT. --- src/dispnew.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dispnew.c b/src/dispnew.c index 018717e591f..748456ba3a7 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -6521,7 +6521,7 @@ sit_for (timeout, reading, do_display) if (INTEGERP (timeout)) { - sec = XFASTINT (timeout); + sec = XINT (timeout); usec = 0; } else if (FLOATP (timeout)) From 279a8f1a78d05eb83b0a4f38393168d7b404c4df Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 12 Jul 2006 08:34:36 +0000 Subject: [PATCH 150/336] (Window System Selections): Mention scrap support for Mac. Default value of x-select-enable-clipboard is t on Mac. --- lispref/frames.texi | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/lispref/frames.texi b/lispref/frames.texi index 09887d000dd..09b0df1615c 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi @@ -1694,12 +1694,33 @@ and @code{x-set-selection} on MS-Windows support the text data type only; if the clipboard holds other types of data, Emacs treats the clipboard as empty. +@cindex scrap support (for Mac OS) +On Mac OS, selection-like data transfer between applications is +performed through a mechanism called @dfn{scraps}. The clipboard is a +particular scrap named @code{com.apple.scrap.clipboard}. Types of scrap +data are called @dfn{scrap flavor types}, which are identified by +four-char codes such as @code{TEXT}. Emacs associates a selection with +a scrap, and a selection type with a scrap flavor type via +@code{mac-scrap-name} and @code{mac-ostype} properties, respectively. + +@example +(get 'CLIPBOARD 'mac-scrap-name) + @result{} "com.apple.scrap.clipboard" +(get 'com.apple.traditional-mac-plain-text 'mac-ostype) + @result{} "TEXT" +@end example + +Conventionally, selection types for scrap flavor types on Mac OS have +the form of @acronym{UTI, Uniform Type Identifier} such as +@code{com.apple.traditional-mac-plain-text}, +@code{public.utf16-plain-text}, and @code{public.file-url}. + @defopt x-select-enable-clipboard If this is non-@code{nil}, the Emacs yank functions consult the clipboard before the primary selection, and the kill functions store in the clipboard as well as the primary selection. Otherwise they do not access the clipboard at all. The default is @code{nil} on most systems, -but @code{t} on MS-Windows. +but @code{t} on MS-Windows and Mac. @end defopt @node Drag and Drop From 4b3b63966e412dfbdb53c4d5a12f53201ea4e1fa Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 12 Jul 2006 08:34:50 +0000 Subject: [PATCH 151/336] (Getting Out): Suspending is not allowed on Mac, either. --- lispref/os.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lispref/os.texi b/lispref/os.texi index a9a1afaa6d8..5451ec8ecfd 100644 --- a/lispref/os.texi +++ b/lispref/os.texi @@ -527,7 +527,7 @@ subprocess of Emacs. Then you would exit the shell to return to Emacs. may not have a parent that can resume it again, and in any case you can give input to some other job such as a shell merely by moving to a different window. Therefore, suspending is not allowed when Emacs is using -a window system (X or MS Windows). +a window system (X, MS Windows, or Mac). @defun suspend-emacs &optional string This function stops Emacs and returns control to the superior process. From 00d110be81e35d9822f8aa02a4ca20265f0ad333 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 12 Jul 2006 08:35:29 +0000 Subject: [PATCH 152/336] Remove descriptions about Metrowerks CodeWarrior. Fix URL for GNU-fonts.smi.bin. USE_ATSUI is enabled by default on Mac OS X. --- mac/INSTALL | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/mac/INSTALL b/mac/INSTALL index e887537354b..cd03295f910 100644 --- a/mac/INSTALL +++ b/mac/INSTALL @@ -160,9 +160,8 @@ For usage of other options, use the --help option. * BUILDING EMACS ON MAC OS Classic -FIXME: You can use either Metrowerks CodeWarrior Pro 6 or MPW-GM -(Aug. 2001) to build Emacs. MPW-GM can be downloaded free of charge -from Apple. +You can use either MPW-GM (Aug. 2001) to build Emacs. MPW-GM can be +downloaded free of charge from Apple. In either case, you will need MPW-GM to build the make-docfile utility and to generate the doc string file DOC. @@ -172,10 +171,10 @@ the distribution. However, you *must* set the radio button in the Preferences->Cross Platform->Convert text files to Macintosh format to "Never". Otherwise the compiled Lisp files will be corrupted. -FIXME: (Optional) A subset of the fonts from the GNU intlfonts-1.2 +(Optional) A subset of the fonts from the GNU intlfonts-1.2 distribution converted to NFNT format can be obtained from - ftp://mac-emacs.sourceforge.net/pub/mac-emacs/GNU-fonts.smi.bin + http://members.shaw.ca/akochoi-emacs/stories/Resources/GNU-Fonts.smi.bin To build Emacs in the MPW Shell, simply set the directory to ...:emacs:mac: and build the target Emacs of the make file @@ -190,21 +189,8 @@ occurrences of `Emacs' above with `NonCarbon'. Not that the non-Carbon version does not support some features such as file dialogs, drag-and-drop, and Unicode menus. -FIXME: To build Emacs using CodeWarrior, start up the CodeWarrior IDE, -choose File->Import Project... and select the file cw6-mcp.xml. When -prompted to save the project, navigate to same directory as the file -cw6-mcp.xml, name the project emacs-cw6.mcp, and save it there. Then -choose Project->Make. Note that this does not build the DOC file. To -do so, use MPW and build the target "Doc" in makefile.MPW. - -FIXME: Once built, the Emacs application (Emacs CW or Emacs MPW) can -be launched where it is created. - -FIXME: To build an optimized version of Emacs in CodeWarrior, change -the value in the Emacs Settings->Code Generation->Global Optimization -dialog. To build a version for profiling, check the Profiler -Information box in the Emacs Settings->Code Generation->PPC Processor -dialog and include the Profiler PPC.Lib library. +Once built, the Emacs application (Emacs MPW) can be launched where it +is created. * NOTES @@ -234,12 +220,12 @@ There are some compile-time flags that enable experimental features. Please use them at your own risk after reading the corresponding threads in the emacs-devel@gnu.org archive. - USE_ATSUI: Enable ATSUI (Apple Type Services for Unicode Imaging) - support. Available on Mac OS 9/Carbon and Mac OS X. - http://lists.gnu.org/archive/html/emacs-devel/2005-10/msg00005.html - - SELECT_USE_CFSOCKET: Avoid polling in sys_select (in src/mac.c). - Available on Mac OS X. + SELECT_USE_CFSOCKET (on Mac OS X): Avoid polling in sys_select (in + src/mac.c). http://lists.gnu.org/archive/html/emacs-devel/2004-12/msg00789.html + USE_ATSUI (on Mac OS 9/Carbon): Enable ATSUI (Apple Type Services + for Unicode Imaging) support. + http://lists.gnu.org/archive/html/emacs-devel/2005-10/msg00005.html + Enjoy! From 28826fdb4413de10e37247f6ad7c8740c922e13f Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 12 Jul 2006 08:35:45 +0000 Subject: [PATCH 153/336] Remove descriptions about Metrowerks CodeWarrior. --- mac/README | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mac/README b/mac/README index 63ff2e76dd1..ecbd438a3f6 100644 --- a/mac/README +++ b/mac/README @@ -32,10 +32,9 @@ There is basic support for synchronous subprocesses (call-process) on Mac OS Classic (non-Carbon build only) although Unix commands that are used will need to be ported. -FIXME: Metrowerks CodeWarrior Pro 6 or MPW-GM (August 2001) can be -used to build Emacs on the Mac OS Classic. On Mac OS X, Emacs can be -built using the Developer Tools. See the INSTALL file in this -directory for instructions on building Emacs. +MPW-GM (August 2001) can be used to build Emacs on the Mac OS Classic. +On Mac OS X, Emacs can be built using the Developer Tools. See the +INSTALL file in this directory for instructions on building Emacs. Read the Mac OS section of the on-line help to find out about how to use Emacs on the Mac. From 28d987ee5d8225bc6d2f146c1b6b5e0b8c9a7c8e Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 12 Jul 2006 08:36:49 +0000 Subject: [PATCH 154/336] (dired.o, editfns.o, fileio.o): Depend on blockinput.h. --- src/Makefile.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Makefile.in b/src/Makefile.in index 4b6599dc26d..18f276c00de 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1108,7 +1108,7 @@ pre-crt0.o: pre-crt0.c ecrt0.o: ecrt0.c $(config_h) CRT0_COMPILE ${srcdir}/ecrt0.c dired.o: dired.c commands.h buffer.h $(config_h) charset.h coding.h regex.h \ - systime.h + systime.h blockinput.h dispnew.o: dispnew.c systty.h systime.h commands.h process.h frame.h \ window.h buffer.h dispextern.h termchar.h termopts.h termhooks.h cm.h \ disptab.h indent.h intervals.h \ @@ -1119,12 +1119,12 @@ doprnt.o: doprnt.c charset.h $(config_h) dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \ msdos.h dosfns.h dispextern.h charset.h coding.h $(config_h) editfns.o: editfns.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h \ - coding.h dispextern.h frame.h $(config_h) + coding.h dispextern.h frame.h blockinput.h $(config_h) emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \ termhooks.h buffer.h atimer.h systime.h $(INTERVAL_SRC) $(config_h) \ window.h dispextern.h keyboard.h keymap.h fileio.o: fileio.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h \ - coding.h msdos.h dispextern.h $(config_h) + coding.h msdos.h dispextern.h blockinput.h $(config_h) filelock.o: filelock.c buffer.h charset.h coding.h systime.h epaths.h $(config_h) filemode.o: filemode.c $(config_h) frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \ From 8c8a7c58e3d8c25a2acedf7af34c627850736dc1 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 12 Jul 2006 08:37:07 +0000 Subject: [PATCH 155/336] Include blockinput.h. (Ffile_attributes): Add BLOCK_INPUT around getpwuid/getgrgid. --- src/dired.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/dired.c b/src/dired.c index 8b5d7851765..17a80a3ce4b 100644 --- a/src/dired.c +++ b/src/dired.c @@ -99,6 +99,7 @@ extern struct direct *readdir (); #include "charset.h" #include "coding.h" #include "regex.h" +#include "blockinput.h" /* Returns a search buffer, with a fastmap allocated and ready to go. */ extern struct re_pattern_buffer *compile_pattern (); @@ -951,10 +952,12 @@ Elements of the attribute list are: } else { + BLOCK_INPUT; pw = (struct passwd *) getpwuid (s.st_uid); values[2] = (pw ? build_string (pw->pw_name) : make_number (s.st_uid)); gr = (struct group *) getgrgid (s.st_gid); values[3] = (gr ? build_string (gr->gr_name) : make_number (s.st_gid)); + UNBLOCK_INPUT; } values[4] = make_time (s.st_atime); values[5] = make_time (s.st_mtime); From b91834c328d3b310e3ebb7094c926e3f4787f07b Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 12 Jul 2006 08:37:25 +0000 Subject: [PATCH 156/336] Include blockinput.h. (Fuser_login_name, Fuser_full_name): Add BLOCK_INPUT around getpwuid/getpwnam. --- src/editfns.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/editfns.c b/src/editfns.c index cbaf1bb18ac..0761abd8d52 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -56,6 +56,7 @@ Boston, MA 02110-1301, USA. */ #include "coding.h" #include "frame.h" #include "window.h" +#include "blockinput.h" #ifdef STDC_HEADERS #include @@ -1302,7 +1303,9 @@ with that uid, or nil if there is no such user. */) return Vuser_login_name; CHECK_NUMBER (uid); + BLOCK_INPUT; pw = (struct passwd *) getpwuid (XINT (uid)); + UNBLOCK_INPUT; return (pw ? build_string (pw->pw_name) : Qnil); } @@ -1356,9 +1359,17 @@ name, or nil if there is no such user. */) if (NILP (uid)) return Vuser_full_name; else if (NUMBERP (uid)) - pw = (struct passwd *) getpwuid ((uid_t) XFLOATINT (uid)); + { + BLOCK_INPUT; + pw = (struct passwd *) getpwuid ((uid_t) XFLOATINT (uid)); + UNBLOCK_INPUT; + } else if (STRINGP (uid)) - pw = (struct passwd *) getpwnam (SDATA (uid)); + { + BLOCK_INPUT; + pw = (struct passwd *) getpwnam (SDATA (uid)); + UNBLOCK_INPUT; + } else error ("Invalid UID specification"); From 67c08d6c724409dec6e87005c4418ee85a4bf4ec Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 12 Jul 2006 08:37:45 +0000 Subject: [PATCH 157/336] Include blockinput.h. (Fexpand_file_name, search_embedded_absfilename): Add BLOCK_INPUT around getpwnam. (search_embedded_absfilename): Remove spurious xfree. --- src/fileio.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/fileio.c b/src/fileio.c index b4fc934900b..21e6fd3a86c 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -77,6 +77,7 @@ extern int errno; #include "charset.h" #include "coding.h" #include "window.h" +#include "blockinput.h" #ifdef WINDOWSNT #define NOMINMAX 1 @@ -1386,7 +1387,9 @@ See also the function `substitute-in-file-name'. */) bcopy ((char *) nm, o, p - nm); o [p - nm] = 0; + BLOCK_INPUT; pw = (struct passwd *) getpwnam (o + 1); + UNBLOCK_INPUT; if (pw) { newdir = (unsigned char *) pw -> pw_dir; @@ -1917,7 +1920,9 @@ See also the function `substitute-in-file-name'.") o[len] = 0; /* Look up the user name. */ + BLOCK_INPUT; pw = (struct passwd *) getpwnam (o + 1); + UNBLOCK_INPUT; if (!pw) error ("\"%s\" isn't a registered user", o + 1); @@ -2111,10 +2116,11 @@ search_embedded_absfilename (nm, endp) /* If we have ~user and `user' exists, discard everything up to ~. But if `user' does not exist, leave ~user alone, it might be a literal file name. */ - if ((pw = getpwnam (o + 1))) + BLOCK_INPUT; + pw = getpwnam (o + 1); + UNBLOCK_INPUT; + if (pw) return p; - else - xfree (pw); } else return p; From 099d42019ac6a3bfed49aa736d7e1153769b4cd0 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 12 Jul 2006 08:38:06 +0000 Subject: [PATCH 158/336] *** empty log message *** --- lispref/ChangeLog | 7 +++++++ mac/ChangeLog | 7 +++++++ src/ChangeLog | 16 ++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index d9453268709..d43e55c93f5 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,10 @@ +2006-07-12 YAMAMOTO Mitsuharu + + * frames.texi (Window System Selections): Mention scrap support for Mac. + Default value of x-select-enable-clipboard is t on Mac. + + * os.texi (Getting Out): Suspending is not allowed on Mac, either. + 2006-07-11 Kim F. Storm * display.texi (Forcing Redisplay): Add `redisplay' function. diff --git a/mac/ChangeLog b/mac/ChangeLog index a17f456ae6f..e892b338595 100644 --- a/mac/ChangeLog +++ b/mac/ChangeLog @@ -1,3 +1,10 @@ +2006-07-12 YAMAMOTO Mitsuharu + + * INSTALL: Remove descriptions about Metrowerks CodeWarrior. Fix URL + for GNU-fonts.smi.bin. USE_ATSUI is enabled by default on Mac OS X. + + * README: Remove descriptions about Metrowerks CodeWarrior. + 2006-05-19 YAMAMOTO Mitsuharu * makefile.MPW (SOME_MACHINE_LISP): Add fringe.elc. diff --git a/src/ChangeLog b/src/ChangeLog index 02b51115719..d0a8ffa7230 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,19 @@ +2006-07-12 YAMAMOTO Mitsuharu + + * Makefile.in (dired.o, editfns.o, fileio.o): Depend on blockinput.h. + + * dired.c: Include blockinput.h. + (Ffile_attributes): Add BLOCK_INPUT around getpwuid/getgrgid. + + * editfns.c: Include blockinput.h. + (Fuser_login_name, Fuser_full_name): Add BLOCK_INPUT around + getpwuid/getpwnam. + + * fileio.c: Include blockinput.h. + (Fexpand_file_name, search_embedded_absfilename): Add BLOCK_INPUT + around getpwnam. + (search_embedded_absfilename): Remove spurious xfree. + 2006-07-11 Kim F. Storm * dispnew.c (sit_for): Reduce number of args from 5 to 3. From 9b2232dd00017ae34f2e0ffdbca1c9f604dd2391 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:01:23 +0000 Subject: [PATCH 159/336] More cleanup related to last change. --- mac/INSTALL | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/mac/INSTALL b/mac/INSTALL index cd03295f910..cf82003e5c4 100644 --- a/mac/INSTALL +++ b/mac/INSTALL @@ -160,12 +160,9 @@ For usage of other options, use the --help option. * BUILDING EMACS ON MAC OS Classic -You can use either MPW-GM (Aug. 2001) to build Emacs. MPW-GM can be +You can use MPW-GM (Aug. 2001) to build Emacs. MPW-GM can be downloaded free of charge from Apple. -In either case, you will need MPW-GM to build the make-docfile utility -and to generate the doc string file DOC. - ### IMPORTANT ### You can use StuffIt Expander to decompress and untar the distribution. However, you *must* set the radio button in the Preferences->Cross Platform->Convert text files to Macintosh format to @@ -183,8 +180,8 @@ makefile.MPW. I.e., execute the commands make Emacs -f makefile.MPW > Emacs.MakeScript Emacs.MakeScript -The above commands create an executable that uses the Carbon API. The -non-Carbon version can also be created by replacing all the +The above commands create an executable that uses the Carbon API. +The non-Carbon version can also be created by replacing all the occurrences of `Emacs' above with `NonCarbon'. Not that the non-Carbon version does not support some features such as file dialogs, drag-and-drop, and Unicode menus. From b8a6aaa7dd0680fedb2e149094f0a05e311e489c Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:13:21 +0000 Subject: [PATCH 160/336] *** empty log message *** --- src/ChangeLog | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index d0a8ffa7230..6919137332f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,72 @@ +2006-07-12 Kim F. Storm + + * lisp.h (CHECK_TYPE): New macro for generic type checking. + (CAR_SAFE, CDR_SAFE): New macros. + (ARRAYP, CHECK_ARRAY): New macros. + (CHECK_VECTOR_OR_STRING, CHECK_SUBR): New macros. + (CHECK_WINDOW_CONFIGURATION): New macro. + (CHECK_LIST_CONS, CHECK_LIST_END): New checks for list traversal. + (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST) + (CHECK_STRING, CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL) + (CHECK_CHAR_TABLE, CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE) + (CHECK_BUFFER, CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS) + (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, CHECK_OVERLAY) + (CHECK_NUMBER_COERCE_MARKER, CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT) + (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER): Use CHECK_TYPE. + + * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): + * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Use CHECK_TYPE. + + * callint.c (Fcall_interactively): + * casefiddle.c (casify_object): + * editfns.c (general_insert_function): + * fns.c (Flength, Felt, Ffillarray): + * data.c (Fcar, Fcdr): Remove loop around wrong_type_argument. + + * data.c (wrong_type_argument): Remove loop around Fsignal. + (Farrayp, Fsequencep): Use ARRAYP. + (Fcar): Use CAR. + (Fcar_safe): Use CAR_SAFE. + (Fcdr): Use CDR. + (Fcdr_safe): Use CDR_SAFE. + (Fsetcar, Fsetcdr): Use CHECK_CONS. + (Fsubr_arity, Fsubr_name): Use CHECK_SUBR. + (Faset): Use CHECK_ARRAY. + + * fns.c (Felt): Use CHECK_ARRAY. + (concat): Use CHECK_NUMBER. + (Fsubstring, substring_both): Use CHECK_VECTOR_OR_STRING. + (Fmemq): Use CHECK_LIST. + (Fassq, Fassoc, Frassq, Frassoc): Use CAR. + (assq_no_quit): Use CAR_SAFE. + (Fnthcdr, Fmember, Fdelq, Fdelete, Fnreverse, Fnconc): + Use CHECK_LIST_CONS. + (Freverse, Fplist_get, Flax_plist_get): Use CHECK_LIST_END. + + * bytecode.c (Fbyte_code): Use CHECK_VECTOR. + + * casetab.c (check_case_table): + * category.c (check_category_table): + * marker.c (Fcopy_marker): + * syntax.c (check_syntax_table): + * xfaces.c (load_pixmap): Use CHECK_TYPE. + + * fns.c (Fcopy_sequence, concat): + * fringe.c (Fdefine_fringe_bitmap): + * lread.c (check_obarray): Cleanup wrong_type_argument use. + + * keymap.c (Fdefine_key, Flookup_key): + * macros.c (Fstart_kbd_macro): Use CHECK_VECTOR_OR_STRING. + + * mac.c (Fmac_get_preference): Use CHECK_LIST_END. + + * search.c (Fset_match_data): Use CHECK_LIST. + + * sunfns.c (sun_item_create): Use CHECK_LIST_CONS. + + * window.c (Fwindow_configuration_frame, Fset_window_configuration): + (compare_window_configurations): Use CHECK_WINDOW_CONFIGURATION. + 2006-07-12 YAMAMOTO Mitsuharu * Makefile.in (dired.o, editfns.o, fileio.o): Depend on blockinput.h. From c8a39089de0f4b65fc2936618087c1e5e15c3920 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:13:44 +0000 Subject: [PATCH 161/336] (CHECK_TYPE): New macro for generic type checking. (CAR_SAFE, CDR_SAFE): New macros. (ARRAYP, CHECK_ARRAY): New macros. (CHECK_VECTOR_OR_STRING, CHECK_SUBR): New macros. (CHECK_WINDOW_CONFIGURATION): New macro. (CHECK_LIST_CONS, CHECK_LIST_END): New checks for list traversal. (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST) (CHECK_STRING, CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL) (CHECK_CHAR_TABLE, CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE) (CHECK_BUFFER, CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS) (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, CHECK_OVERLAY) (CHECK_NUMBER_COERCE_MARKER, CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT) (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER): Use CHECK_TYPE. --- src/lisp.h | 102 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 61 insertions(+), 41 deletions(-) diff --git a/src/lisp.h b/src/lisp.h index d6c4a1ba609..e276ac02b28 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -591,6 +591,12 @@ extern size_t pure_size; #define STRING_COPYIN(string, index, new, count) \ bcopy (new, XSTRING (string)->data + index, count) +/* Type checking. */ + +#define CHECK_TYPE(ok, Qxxxp, x) \ + do { if (!(ok)) wrong_type_argument (Qxxxp, (x)); } while (0) + + /* See the macros in intervals.h. */ @@ -598,8 +604,8 @@ typedef struct interval *INTERVAL; /* Complain if object is not string or buffer type */ #define CHECK_STRING_OR_BUFFER(x) \ - { if (!STRINGP ((x)) && !BUFFERP ((x))) \ - x = wrong_type_argument (Qbuffer_or_string_p, (x)); } + CHECK_TYPE (STRINGP (x) || BUFFERP (x), Qbuffer_or_string_p, x) + /* In a cons, the markbit of the car is the gc mark bit */ @@ -668,6 +674,13 @@ struct Lisp_Cons : NILP ((c)) ? Qnil \ : wrong_type_argument (Qlistp, (c))) +/* Take the car or cdr of something whose type is not known. */ +#define CAR_SAFE(c) \ + (CONSP ((c)) ? XCAR ((c)) : Qnil) + +#define CDR_SAFE(c) \ + (CONSP ((c)) ? XCDR ((c)) : Qnil) + /* Nonzero if STR is a multibyte string. */ #define STRING_MULTIBYTE(STR) \ (XSTRING (STR)->size_byte >= 0) @@ -1053,13 +1066,8 @@ struct Lisp_Hash_Table #define HASH_TABLE_P(OBJ) PSEUDOVECTORP (OBJ, PVEC_HASH_TABLE) #define GC_HASH_TABLE_P(x) GC_PSEUDOVECTORP (x, PVEC_HASH_TABLE) -#define CHECK_HASH_TABLE(x) \ - do \ - { \ - if (!HASH_TABLE_P ((x))) \ - x = wrong_type_argument (Qhash_table_p, (x)); \ - } \ - while (0) +#define CHECK_HASH_TABLE(x) \ + CHECK_TYPE (HASH_TABLE_P (x), Qhash_table_p, x) /* Value is the key part of entry IDX in hash table H. */ @@ -1524,41 +1532,57 @@ typedef unsigned char UCHAR; /* Test for image (image . spec) */ #define IMAGEP(x) (CONSP (x) && EQ (XCAR (x), Qimage)) +/* Array types. */ + +#define ARRAYP(x) \ + (VECTORP (x) || STRINGP (x) || CHAR_TABLE_P (x) || BOOL_VECTOR_P (x)) #define GC_EQ(x, y) EQ (x, y) #define CHECK_LIST(x) \ - do { if (!CONSP ((x)) && !NILP (x)) x = wrong_type_argument (Qlistp, (x)); } while (0) + CHECK_TYPE (CONSP (x) || NILP (x), Qlistp, x) + +#define CHECK_LIST_CONS(x, y) \ + CHECK_TYPE (CONSP (x), Qlistp, y) + +#define CHECK_LIST_END(x, y) \ + CHECK_TYPE (NILP (x), Qlistp, y) #define CHECK_STRING(x) \ - do { if (!STRINGP ((x))) x = wrong_type_argument (Qstringp, (x)); } while (0) + CHECK_TYPE (STRINGP (x), Qstringp, x) #define CHECK_STRING_CAR(x) \ - do { if (!STRINGP (XCAR (x))) XSETCAR (x, wrong_type_argument (Qstringp, XCAR (x))); } while (0) + CHECK_TYPE (STRINGP (XCAR (x)), Qstringp, XCAR (x)) #define CHECK_CONS(x) \ - do { if (!CONSP ((x))) x = wrong_type_argument (Qconsp, (x)); } while (0) + CHECK_TYPE (CONSP (x), Qconsp, x) #define CHECK_SYMBOL(x) \ - do { if (!SYMBOLP ((x))) x = wrong_type_argument (Qsymbolp, (x)); } while (0) + CHECK_TYPE (SYMBOLP (x), Qsymbolp, x) #define CHECK_CHAR_TABLE(x) \ - do { if (!CHAR_TABLE_P ((x))) \ - x = wrong_type_argument (Qchar_table_p, (x)); } while (0) + CHECK_TYPE (CHAR_TABLE_P (x), Qchar_table_p, x) #define CHECK_VECTOR(x) \ - do { if (!VECTORP ((x))) x = wrong_type_argument (Qvectorp, (x)); } while (0) + CHECK_TYPE (VECTORP (x), Qvectorp, x) -#define CHECK_VECTOR_OR_CHAR_TABLE(x) \ - do { if (!VECTORP ((x)) && !CHAR_TABLE_P ((x))) \ - x = wrong_type_argument (Qvector_or_char_table_p, (x)); \ - } while (0) +#define CHECK_VECTOR_OR_STRING(x) \ + CHECK_TYPE (VECTORP (x) || STRINGP (x), Qarrayp, x) + +#define CHECK_ARRAY(x, Qxxxp) \ + CHECK_TYPE (ARRAYP (x), Qxxxp, x) + +#define CHECK_VECTOR_OR_CHAR_TABLE(x) \ + CHECK_TYPE (VECTORP (x) || CHAR_TABLE_P (x), Qvector_or_char_table_p, x) #define CHECK_BUFFER(x) \ - do { if (!BUFFERP ((x))) x = wrong_type_argument (Qbufferp, (x)); } while (0) + CHECK_TYPE (BUFFERP (x), Qbufferp, x) #define CHECK_WINDOW(x) \ - do { if (!WINDOWP ((x))) x = wrong_type_argument (Qwindowp, (x)); } while (0) + CHECK_TYPE (WINDOWP (x), Qwindowp, x) + +#define CHECK_WINDOW_CONFIGURATION(x) \ + CHECK_TYPE (WINDOW_CONFIGURATIONP (x), Qwindow_configuration_p, x) /* This macro rejects windows on the interior of the window tree as "dead", which is what we want; this is an argument-checking macro, and @@ -1567,46 +1591,42 @@ typedef unsigned char UCHAR; A window of any sort, leaf or interior, is dead iff the buffer, vchild, and hchild members are all nil. */ -#define CHECK_LIVE_WINDOW(x) \ - do { \ - if (!WINDOWP ((x)) \ - || NILP (XWINDOW ((x))->buffer)) \ - x = wrong_type_argument (Qwindow_live_p, (x)); \ - } while (0) +#define CHECK_LIVE_WINDOW(x) \ + CHECK_TYPE (WINDOWP (x) && !NILP (XWINDOW (x)->buffer), Qwindow_live_p, x) #define CHECK_PROCESS(x) \ - do { if (!PROCESSP ((x))) x = wrong_type_argument (Qprocessp, (x)); } while (0) + CHECK_TYPE (PROCESSP (x), Qprocessp, x) + +#define CHECK_SUBR(x) \ + CHECK_TYPE (SUBRP (x), Qsubrp, x) #define CHECK_NUMBER(x) \ - do { if (!INTEGERP ((x))) x = wrong_type_argument (Qintegerp, (x)); } while (0) + CHECK_TYPE (INTEGERP (x), Qintegerp, x) #define CHECK_NATNUM(x) \ - do { if (!NATNUMP (x)) x = wrong_type_argument (Qwholenump, (x)); } while (0) + CHECK_TYPE (NATNUMP (x), Qwholenump, x) #define CHECK_MARKER(x) \ - do { if (!MARKERP ((x))) x = wrong_type_argument (Qmarkerp, (x)); } while (0) + CHECK_TYPE (MARKERP (x), Qmarkerp, x) #define CHECK_NUMBER_COERCE_MARKER(x) \ do { if (MARKERP ((x))) XSETFASTINT (x, marker_position (x)); \ - else if (!INTEGERP ((x))) x = wrong_type_argument (Qinteger_or_marker_p, (x)); } while (0) + else CHECK_TYPE (INTEGERP (x), Qinteger_or_marker_p, x); } while (0) #define XFLOATINT(n) extract_float((n)) #define CHECK_FLOAT(x) \ - do { if (!FLOATP (x)) \ - x = wrong_type_argument (Qfloatp, (x)); } while (0) + CHECK_TYPE (FLOATP (x), Qfloatp, x) #define CHECK_NUMBER_OR_FLOAT(x) \ - do { if (!FLOATP (x) && !INTEGERP (x)) \ - x = wrong_type_argument (Qnumberp, (x)); } while (0) + CHECK_TYPE (FLOATP (x) || INTEGERP (x), Qnumberp, x) #define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(x) \ do { if (MARKERP (x)) XSETFASTINT (x, marker_position (x)); \ - else if (!INTEGERP (x) && !FLOATP (x)) \ - x = wrong_type_argument (Qnumber_or_marker_p, (x)); } while (0) + else CHECK_TYPE (INTEGERP (x) || FLOATP (x), Qnumber_or_marker_p, x); } while (0) #define CHECK_OVERLAY(x) \ - do { if (!OVERLAYP ((x))) x = wrong_type_argument (Qoverlayp, (x));} while (0) + CHECK_TYPE (OVERLAYP (x), Qoverlayp, x) /* Since we can't assign directly to the CAR or CDR fields of a cons cell, use these when checking that those fields contain numbers. */ From 915a3e00ad84c76d314cfff3d1d984cd418cc407 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:14:00 +0000 Subject: [PATCH 162/336] (CHECK_FRAME, CHECK_LIVE_FRAME): Use CHECK_TYPE. --- src/frame.h | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/frame.h b/src/frame.h index 940b5409636..50e7c0660b4 100644 --- a/src/frame.h +++ b/src/frame.h @@ -760,18 +760,11 @@ typedef struct frame *FRAME_PTR; (f)->visible = (f)->async_visible, \ (f)->iconified = (f)->async_iconified) -#define CHECK_FRAME(x) \ - do { \ - if (! FRAMEP (x)) \ - x = wrong_type_argument (Qframep, (x)); \ - } while (0) +#define CHECK_FRAME(x) \ + CHECK_TYPE (FRAMEP (x), Qframep, x) -#define CHECK_LIVE_FRAME(x) \ - do { \ - if (! FRAMEP (x) \ - || ! FRAME_LIVE_P (XFRAME (x))) \ - x = wrong_type_argument (Qframe_live_p, (x)); \ - } while (0) +#define CHECK_LIVE_FRAME(x) \ + CHECK_TYPE (FRAMEP (x) && FRAME_LIVE_P (XFRAME (x)), Qframe_live_p, x) /* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a `for' loop which iterates over the elements of Vframe_list. The From 7e9d10c3dcca9f0b29b37c89d10d1d9521676b1a Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:14:11 +0000 Subject: [PATCH 163/336] (CHECK_CATEGORY, CHECK_CATEGORY_SET): Use CHECK_TYPE. --- src/category.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/category.h b/src/category.h index ade8704db09..413505ece61 100644 --- a/src/category.h +++ b/src/category.h @@ -54,10 +54,8 @@ Boston, MA 02110-1301, USA. */ #define CATEGORYP(x) \ (INTEGERP ((x)) && XFASTINT ((x)) >= 0x20 && XFASTINT ((x)) <= 0x7E) -#define CHECK_CATEGORY(x) \ - do { \ - if (!CATEGORYP ((x))) x = wrong_type_argument (Qcategoryp, (x)); \ - } while (0) +#define CHECK_CATEGORY(x) \ + CHECK_TYPE (CATEGORYP (x), Qcategoryp, x) #define XCATEGORY_SET XBOOL_VECTOR @@ -72,10 +70,8 @@ Boston, MA 02110-1301, USA. */ #define SET_CATEGORY_SET(category_set, category, val) \ (Faset (category_set, category, val)) -#define CHECK_CATEGORY_SET(x) \ - do { \ - if (!CATEGORY_SET_P ((x))) x = wrong_type_argument (Qcategorysetp, (x)); \ - } while (0) +#define CHECK_CATEGORY_SET(x) \ + CHECK_TYPE (CATEGORY_SET_P (x), Qcategorysetp, x) /* Return 1 if CATEGORY_SET contains CATEGORY, else return 0. The faster version of `!NILP (Faref (category_set, category))'. */ From c616acb810400c81dc423735b41506670bc80839 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:14:26 +0000 Subject: [PATCH 164/336] (Fbyte_code): Use CHECK_VECTOR. --- src/bytecode.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/bytecode.c b/src/bytecode.c index 0d06890eabf..d71006cb660 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -433,8 +433,7 @@ If the third argument is incorrect, Emacs may crash. */) #endif CHECK_STRING (bytestr); - if (!VECTORP (vector)) - vector = wrong_type_argument (Qvectorp, vector); + CHECK_VECTOR (vector); CHECK_NUMBER (maxdepth); if (STRING_MULTIBYTE (bytestr)) @@ -547,9 +546,7 @@ If the third argument is incorrect, Emacs may crash. */) else if (NILP (v1)) TOP = Qnil; else - { - wrong_type_argument (Qlistp, v1); - } + wrong_type_argument (Qlistp, v1); break; } @@ -580,9 +577,7 @@ If the third argument is incorrect, Emacs may crash. */) else if (NILP (v1)) TOP = Qnil; else - { - wrong_type_argument (Qlistp, v1); - } + wrong_type_argument (Qlistp, v1); break; } From b08b1fc936688f92c4d9edc487c3fd18ca6460a8 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:14:38 +0000 Subject: [PATCH 165/336] (Fcall_interactively): Remove loop around wrong_type_argument. --- src/callint.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/callint.c b/src/callint.c index 741f61d068b..c594f27c8b8 100644 --- a/src/callint.c +++ b/src/callint.c @@ -314,8 +314,6 @@ If KEYS is omitted or nil, the return value of `this-command-keys' is used. */) /* Save this now, since use of minibuffer will clobber it. */ prefix_arg = Vcurrent_prefix_arg; - retry: - if (SYMBOLP (function)) enable = Fget (function, Qenable_recursive_minibuffers); else @@ -334,8 +332,7 @@ If KEYS is omitted or nil, the return value of `this-command-keys' is used. */) up_event = Qnil; /* Decode the kind of function. Either handle it and return, - or go to `lose' if not interactive, or go to `retry' - to specify a different function, or set either STRING or SPECS. */ + or go to `lose' if not interactive, or set either STRING or SPECS. */ if (SUBRP (fun)) { @@ -343,8 +340,7 @@ If KEYS is omitted or nil, the return value of `this-command-keys' is used. */) if (!string) { lose: - function = wrong_type_argument (Qcommandp, function); - goto retry; + wrong_type_argument (Qcommandp, function); } } else if (COMPILEDP (fun)) From 4e374bf2f8bb2c42165137ba9f3b50a87ebdcf2f Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:14:51 +0000 Subject: [PATCH 166/336] (casify_object): Remove loop around wrong_type_argument. --- src/casefiddle.c | 108 +++++++++++++++++++++++------------------------ 1 file changed, 53 insertions(+), 55 deletions(-) diff --git a/src/casefiddle.c b/src/casefiddle.c index 02ec3f76b4e..76a24f48a82 100644 --- a/src/casefiddle.c +++ b/src/casefiddle.c @@ -45,75 +45,73 @@ casify_object (flag, obj) if (NILP (XCHAR_TABLE (current_buffer->downcase_table)->extras[1])) Fset_case_table (current_buffer->downcase_table); - while (1) + if (INTEGERP (obj)) { - if (INTEGERP (obj)) + int flagbits = (CHAR_ALT | CHAR_SUPER | CHAR_HYPER + | CHAR_SHIFT | CHAR_CTL | CHAR_META); + int flags = XINT (obj) & flagbits; + + /* If the character has higher bits set + above the flags, return it unchanged. + It is not a real character. */ + if ((unsigned) XFASTINT (obj) > (unsigned) flagbits) + return obj; + + c = DOWNCASE (XFASTINT (obj) & ~flagbits); + if (inword) + XSETFASTINT (obj, c | flags); + else if (c == (XFASTINT (obj) & ~flagbits)) { - int flagbits = (CHAR_ALT | CHAR_SUPER | CHAR_HYPER - | CHAR_SHIFT | CHAR_CTL | CHAR_META); - int flags = XINT (obj) & flagbits; - - /* If the character has higher bits set - above the flags, return it unchanged. - It is not a real character. */ - if ((unsigned) XFASTINT (obj) > (unsigned) flagbits) - return obj; - - c = DOWNCASE (XFASTINT (obj) & ~flagbits); - if (inword) - XSETFASTINT (obj, c | flags); - else if (c == (XFASTINT (obj) & ~flagbits)) - { - c = UPCASE1 ((XFASTINT (obj) & ~flagbits)); - XSETFASTINT (obj, c | flags); - } - return obj; + c = UPCASE1 ((XFASTINT (obj) & ~flagbits)); + XSETFASTINT (obj, c | flags); } + return obj; + } - if (STRINGP (obj)) + if (STRINGP (obj)) + { + int multibyte = STRING_MULTIBYTE (obj); + int n; + + obj = Fcopy_sequence (obj); + len = SBYTES (obj); + + /* I counts bytes, and N counts chars. */ + for (i = n = 0; i < len; n++) { - int multibyte = STRING_MULTIBYTE (obj); - int n; + int from_len = 1, to_len = 1; - obj = Fcopy_sequence (obj); - len = SBYTES (obj); + c = SREF (obj, i); - /* I counts bytes, and N counts chars. */ - for (i = n = 0; i < len; n++) + if (multibyte && c >= 0x80) + c = STRING_CHAR_AND_LENGTH (SDATA (obj) + i, len -i, from_len); + if (inword && flag != CASE_CAPITALIZE_UP) + c = DOWNCASE (c); + else if (!UPPERCASEP (c) + && (!inword || flag != CASE_CAPITALIZE_UP)) + c = UPCASE1 (c); + if ((ASCII_BYTE_P (c) && from_len == 1) + || (! multibyte && SINGLE_BYTE_CHAR_P (c))) + SSET (obj, i, c); + else { - int from_len = 1, to_len = 1; - - c = SREF (obj, i); - - if (multibyte && c >= 0x80) - c = STRING_CHAR_AND_LENGTH (SDATA (obj) + i, len -i, from_len); - if (inword && flag != CASE_CAPITALIZE_UP) - c = DOWNCASE (c); - else if (!UPPERCASEP (c) - && (!inword || flag != CASE_CAPITALIZE_UP)) - c = UPCASE1 (c); - if ((ASCII_BYTE_P (c) && from_len == 1) - || (! multibyte && SINGLE_BYTE_CHAR_P (c))) - SSET (obj, i, c); + to_len = CHAR_BYTES (c); + if (from_len == to_len) + CHAR_STRING (c, SDATA (obj) + i); else { - to_len = CHAR_BYTES (c); - if (from_len == to_len) - CHAR_STRING (c, SDATA (obj) + i); - else - { - Faset (obj, make_number (n), make_number (c)); - len += to_len - from_len; - } + Faset (obj, make_number (n), make_number (c)); + len += to_len - from_len; } - if ((int) flag >= (int) CASE_CAPITALIZE) - inword = SYNTAX (c) == Sword; - i += to_len; } - return obj; + if ((int) flag >= (int) CASE_CAPITALIZE) + inword = SYNTAX (c) == Sword; + i += to_len; } - obj = wrong_type_argument (Qchar_or_string_p, obj); + return obj; } + + return wrong_type_argument (Qchar_or_string_p, obj); } DEFUN ("upcase", Fupcase, Supcase, 1, 1, 0, From a5f07f6d92ca594888d553f7384ff408d1a093b7 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:15:03 +0000 Subject: [PATCH 167/336] * casetab.c (check_case_table): Use CHECK_TYPE. --- src/casetab.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/casetab.c b/src/casetab.c index 5c7530eb480..5483f5663fa 100644 --- a/src/casetab.c +++ b/src/casetab.c @@ -1,5 +1,5 @@ /* GNU Emacs routines to deal with case tables. - Copyright (C) 1993, 1994, 2002, 2003, 2004, + Copyright (C) 1993, 1994, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -67,10 +67,7 @@ static Lisp_Object check_case_table (obj) Lisp_Object obj; { - register Lisp_Object tem; - - while (tem = Fcase_table_p (obj), NILP (tem)) - obj = wrong_type_argument (Qcase_table_p, obj); + CHECK_TYPE (!NILP (Fcase_table_p (obj)), Qcase_table_p, obj); return (obj); } From 886742699bbd96ed2b93e764aec84f2dcb0f441b Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:15:18 +0000 Subject: [PATCH 168/336] (check_category_table): Use CHECK_TYPE. --- src/category.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/category.c b/src/category.c index 929cd7ea1c0..6835d00d824 100644 --- a/src/category.c +++ b/src/category.c @@ -164,11 +164,9 @@ Lisp_Object check_category_table (table) Lisp_Object table; { - register Lisp_Object tem; if (NILP (table)) return current_buffer->category_table; - while (tem = Fcategory_table_p (table), NILP (tem)) - table = wrong_type_argument (Qcategory_table_p, table); + CHECK_TYPE (!NILP (Fcategory_table_p (table)), Qcategory_table_p, table); return table; } From 0c64a8cd5d232fba721154348a55528cefc7b569 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:15:46 +0000 Subject: [PATCH 169/336] (wrong_type_argument): Remove loop around Fsignal. (Farrayp, Fsequencep): Use ARRAYP. (Fcar, Fcdr): Remove loop around wrong_type_argument. (Fcar): Use CAR. (Fcar_safe): Use CAR_SAFE. (Fcdr): Use CDR. (Fcdr_safe): Use CDR_SAFE. (Fsetcar, Fsetcdr): Use CHECK_CONS. (Fsubr_arity, Fsubr_name): Use CHECK_SUBR. (Faset): Use CHECK_ARRAY. --- src/data.c | 71 +++++++++++++----------------------------------------- 1 file changed, 17 insertions(+), 54 deletions(-) diff --git a/src/data.c b/src/data.c index 8b8015bb002..0b46fceb298 100644 --- a/src/data.c +++ b/src/data.c @@ -113,18 +113,13 @@ Lisp_Object wrong_type_argument (predicate, value) register Lisp_Object predicate, value; { - register Lisp_Object tem; - do - { - /* If VALUE is not even a valid Lisp object, abort here - where we can get a backtrace showing where it came from. */ - if ((unsigned int) XGCTYPE (value) >= Lisp_Type_Limit) - abort (); + /* If VALUE is not even a valid Lisp object, abort here + where we can get a backtrace showing where it came from. */ + if ((unsigned int) XGCTYPE (value) >= Lisp_Type_Limit) + abort (); + + Fsignal (Qwrong_type_argument, list2 (predicate, value)); - value = Fsignal (Qwrong_type_argument, Fcons (predicate, Fcons (value, Qnil))); - tem = call1 (predicate, value); - } - while (NILP (tem)); /* This function is marked as NO_RETURN, gcc would warn if it has a return statement or if falls off the function. Other compilers warn if no return statement is present. */ @@ -394,8 +389,7 @@ DEFUN ("arrayp", Farrayp, Sarrayp, 1, 1, 0, (object) Lisp_Object object; { - if (VECTORP (object) || STRINGP (object) - || CHAR_TABLE_P (object) || BOOL_VECTOR_P (object)) + if (ARRAYP (object)) return Qt; return Qnil; } @@ -405,8 +399,7 @@ DEFUN ("sequencep", Fsequencep, Ssequencep, 1, 1, 0, (object) register Lisp_Object object; { - if (CONSP (object) || NILP (object) || VECTORP (object) || STRINGP (object) - || CHAR_TABLE_P (object) || BOOL_VECTOR_P (object)) + if (CONSP (object) || NILP (object) || ARRAYP (object)) return Qt; return Qnil; } @@ -536,15 +529,7 @@ Lisp concepts such as car, cdr, cons cell and list. */) (list) register Lisp_Object list; { - while (1) - { - if (CONSP (list)) - return XCAR (list); - else if (EQ (list, Qnil)) - return Qnil; - else - list = wrong_type_argument (Qlistp, list); - } + return CAR (list); } DEFUN ("car-safe", Fcar_safe, Scar_safe, 1, 1, 0, @@ -552,10 +537,7 @@ DEFUN ("car-safe", Fcar_safe, Scar_safe, 1, 1, 0, (object) Lisp_Object object; { - if (CONSP (object)) - return XCAR (object); - else - return Qnil; + return CAR_SAFE (object); } DEFUN ("cdr", Fcdr, Scdr, 1, 1, 0, @@ -567,15 +549,7 @@ Lisp concepts such as cdr, car, cons cell and list. */) (list) register Lisp_Object list; { - while (1) - { - if (CONSP (list)) - return XCDR (list); - else if (EQ (list, Qnil)) - return Qnil; - else - list = wrong_type_argument (Qlistp, list); - } + return CDR (list); } DEFUN ("cdr-safe", Fcdr_safe, Scdr_safe, 1, 1, 0, @@ -583,10 +557,7 @@ DEFUN ("cdr-safe", Fcdr_safe, Scdr_safe, 1, 1, 0, (object) Lisp_Object object; { - if (CONSP (object)) - return XCDR (object); - else - return Qnil; + return CDR_SAFE (object); } DEFUN ("setcar", Fsetcar, Ssetcar, 2, 2, 0, @@ -594,9 +565,7 @@ DEFUN ("setcar", Fsetcar, Ssetcar, 2, 2, 0, (cell, newcar) register Lisp_Object cell, newcar; { - if (!CONSP (cell)) - cell = wrong_type_argument (Qconsp, cell); - + CHECK_CONS (cell); CHECK_IMPURE (cell); XSETCAR (cell, newcar); return newcar; @@ -607,9 +576,7 @@ DEFUN ("setcdr", Fsetcdr, Ssetcdr, 2, 2, 0, (cell, newcdr) register Lisp_Object cell, newcdr; { - if (!CONSP (cell)) - cell = wrong_type_argument (Qconsp, cell); - + CHECK_CONS (cell); CHECK_IMPURE (cell); XSETCDR (cell, newcdr); return newcdr; @@ -764,8 +731,7 @@ function with `&rest' args, or `unevalled' for a special form. */) Lisp_Object subr; { short minargs, maxargs; - if (!SUBRP (subr)) - wrong_type_argument (Qsubrp, subr); + CHECK_SUBR (subr); minargs = XSUBR (subr)->min_args; maxargs = XSUBR (subr)->max_args; if (maxargs == MANY) @@ -783,8 +749,7 @@ SUBR must be a built-in function. */) Lisp_Object subr; { const char *name; - if (!SUBRP (subr)) - wrong_type_argument (Qsubrp, subr); + CHECK_SUBR (subr); name = XSUBR (subr)->symbol_name; return make_string (name, strlen (name)); } @@ -2116,9 +2081,7 @@ bool-vector. IDX starts at 0. */) CHECK_NUMBER (idx); idxval = XINT (idx); - if (!VECTORP (array) && !STRINGP (array) && !BOOL_VECTOR_P (array) - && ! CHAR_TABLE_P (array)) - array = wrong_type_argument (Qarrayp, array); + CHECK_ARRAY (array, Qarrayp); CHECK_IMPURE (array); if (VECTORP (array)) From 99a20368116f90c7bbed30deac4494e5d06d54b7 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:16:13 +0000 Subject: [PATCH 170/336] (sit_for): Tiny simplification. --- src/dispnew.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/dispnew.c b/src/dispnew.c index 748456ba3a7..cf0d8668906 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -6526,9 +6526,7 @@ sit_for (timeout, reading, do_display) } else if (FLOATP (timeout)) { - double seconds; - - seconds = XFLOAT_DATA (timeout); + double seconds = XFLOAT_DATA (timeout); sec = (int) seconds; usec = (int) ((seconds - sec) * 1000000); } From b7f34213c10aa9354d06d15eb3c1ed1021ce947f Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:16:32 +0000 Subject: [PATCH 171/336] (general_insert_function): Remove loop around wrong_type_argument. --- src/editfns.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/editfns.c b/src/editfns.c index 0761abd8d52..98a42855ba5 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -2140,7 +2140,6 @@ general_insert_function (insert_func, insert_from_string_func, for (argnum = 0; argnum < nargs; argnum++) { val = args[argnum]; - retry: if (INTEGERP (val)) { unsigned char str[MAX_MULTIBYTE_LENGTH]; @@ -2165,10 +2164,7 @@ general_insert_function (insert_func, insert_from_string_func, inherit); } else - { - val = wrong_type_argument (Qchar_or_string_p, val); - goto retry; - } + wrong_type_argument (Qchar_or_string_p, val); } } From 89662fc36386cc9a89eae0c39ade8510fdf98416 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:17:13 +0000 Subject: [PATCH 172/336] (Flength, Felt, Ffillarray): Remove loop around wrong_type_argument. (Fcopy_sequence, concat): Cleanup wrong_type_argument use. (concat): Use CHECK_NUMBER. (Felt): Use CHECK_ARRAY. (Fsubstring, substring_both): Use CHECK_VECTOR_OR_STRING. (Fmemq): Use CHECK_LIST. (Fassq, Fassoc, Frassq, Frassoc): Use CAR. (assq_no_quit): Use CAR_SAFE. (Fnthcdr, Fmember, Fdelq, Fdelete, Fnreverse, Fnconc): Use CHECK_LIST_CONS. (Freverse, Fplist_get, Flax_plist_get): Use CHECK_LIST_END. --- src/fns.c | 131 +++++++++++++++--------------------------------------- 1 file changed, 35 insertions(+), 96 deletions(-) diff --git a/src/fns.c b/src/fns.c index b31beb22ff4..146d46b69b8 100644 --- a/src/fns.c +++ b/src/fns.c @@ -147,7 +147,6 @@ To get the number of bytes, use `string-bytes'. */) register Lisp_Object val; register int i; - retry: if (STRINGP (sequence)) XSETFASTINT (val, SCHARS (sequence)); else if (VECTORP (sequence)) @@ -176,18 +175,15 @@ To get the number of bytes, use `string-bytes'. */) QUIT; } - if (!NILP (sequence)) - wrong_type_argument (Qlistp, sequence); + CHECK_LIST_END (sequence, sequence); val = make_number (i); } else if (NILP (sequence)) XSETFASTINT (val, 0); else - { - sequence = wrong_type_argument (Qsequencep, sequence); - goto retry; - } + val = wrong_type_argument (Qsequencep, sequence); + return val; } @@ -529,7 +525,8 @@ with the original. */) } if (!CONSP (arg) && !VECTORP (arg) && !STRINGP (arg)) - arg = wrong_type_argument (Qsequencep, arg); + wrong_type_argument (Qsequencep, arg); + return concat (1, &arg, CONSP (arg) ? Lisp_Cons : XTYPE (arg), 0); } @@ -581,15 +578,13 @@ concat (nargs, args, target_type, last_special) else last_tail = Qnil; - /* Canonicalize each argument. */ + /* Check each argument. */ for (argnum = 0; argnum < nargs; argnum++) { this = args[argnum]; if (!(CONSP (this) || NILP (this) || VECTORP (this) || STRINGP (this) || COMPILEDP (this) || BOOL_VECTOR_P (this))) - { - args[argnum] = wrong_type_argument (Qsequencep, this); - } + wrong_type_argument (Qsequencep, this); } /* Compute total length in chars of arguments in RESULT_LEN. @@ -616,8 +611,7 @@ concat (nargs, args, target_type, last_special) for (i = 0; i < len; i++) { ch = XVECTOR (this)->contents[i]; - if (! INTEGERP (ch)) - wrong_type_argument (Qintegerp, ch); + CHECK_NUMBER (ch); this_len_byte = CHAR_BYTES (XINT (ch)); result_len_byte += this_len_byte; if (!SINGLE_BYTE_CHAR_P (XINT (ch))) @@ -629,8 +623,7 @@ concat (nargs, args, target_type, last_special) for (; CONSP (this); this = XCDR (this)) { ch = XCAR (this); - if (! INTEGERP (ch)) - wrong_type_argument (Qintegerp, ch); + CHECK_NUMBER (ch); this_len_byte = CHAR_BYTES (XINT (ch)); result_len_byte += this_len_byte; if (!SINGLE_BYTE_CHAR_P (XINT (ch))) @@ -1252,9 +1245,7 @@ This function allows vectors as well as strings. */) int from_char, to_char; int from_byte = 0, to_byte = 0; - if (! (STRINGP (string) || VECTORP (string))) - wrong_type_argument (Qarrayp, string); - + CHECK_VECTOR_OR_STRING (string); CHECK_NUMBER (from); if (STRINGP (string)) @@ -1378,8 +1369,7 @@ substring_both (string, from, from_byte, to, to_byte) int size; int size_byte; - if (! (STRINGP (string) || VECTORP (string))) - wrong_type_argument (Qarrayp, string); + CHECK_VECTOR_OR_STRING (string); if (STRINGP (string)) { @@ -1419,8 +1409,7 @@ DEFUN ("nthcdr", Fnthcdr, Snthcdr, 2, 2, 0, for (i = 0; i < num && !NILP (list); i++) { QUIT; - if (! CONSP (list)) - wrong_type_argument (Qlistp, list); + CHECK_LIST_CONS (list, list); list = XCDR (list); } return list; @@ -1441,16 +1430,12 @@ DEFUN ("elt", Felt, Selt, 2, 2, 0, register Lisp_Object sequence, n; { CHECK_NUMBER (n); - while (1) - { - if (CONSP (sequence) || NILP (sequence)) - return Fcar (Fnthcdr (n, sequence)); - else if (STRINGP (sequence) || VECTORP (sequence) - || BOOL_VECTOR_P (sequence) || CHAR_TABLE_P (sequence)) - return Faref (sequence, n); - else - sequence = wrong_type_argument (Qsequencep, sequence); - } + if (CONSP (sequence) || NILP (sequence)) + return Fcar (Fnthcdr (n, sequence)); + + /* Faref signals a "not array" error, so check here. */ + CHECK_ARRAY (sequence, Qsequencep); + return Faref (sequence, n); } DEFUN ("member", Fmember, Smember, 2, 2, 0, @@ -1464,8 +1449,7 @@ The value is actually the tail of LIST whose car is ELT. */) for (tail = list; !NILP (tail); tail = XCDR (tail)) { register Lisp_Object tem; - if (! CONSP (tail)) - wrong_type_argument (Qlistp, list); + CHECK_LIST_CONS (tail, list); tem = XCAR (tail); if (! NILP (Fequal (elt, tem))) return tail; @@ -1498,9 +1482,7 @@ whose car is ELT. */) QUIT; } - if (!CONSP (list) && !NILP (list)) - list = wrong_type_argument (Qlistp, list); - + CHECK_LIST (list); return list; } @@ -1511,8 +1493,6 @@ Elements of LIST that are not conses are ignored. */) (key, list) Lisp_Object key, list; { - Lisp_Object result; - while (1) { if (!CONSP (list) @@ -1536,14 +1516,7 @@ Elements of LIST that are not conses are ignored. */) QUIT; } - if (CONSP (list)) - result = XCAR (list); - else if (NILP (list)) - result = Qnil; - else - result = wrong_type_argument (Qlistp, list); - - return result; + return CAR (list); } /* Like Fassq but never report an error and do not allow quits. @@ -1558,7 +1531,7 @@ assq_no_quit (key, list) || !EQ (XCAR (XCAR (list)), key))) list = XCDR (list); - return CONSP (list) ? XCAR (list) : Qnil; + return CAR_SAFE (list); } DEFUN ("assoc", Fassoc, Sassoc, 2, 2, 0, @@ -1567,7 +1540,7 @@ The value is actually the first element of LIST whose car equals KEY. */) (key, list) Lisp_Object key, list; { - Lisp_Object result, car; + Lisp_Object car; while (1) { @@ -1595,14 +1568,7 @@ The value is actually the first element of LIST whose car equals KEY. */) QUIT; } - if (CONSP (list)) - result = XCAR (list); - else if (NILP (list)) - result = Qnil; - else - result = wrong_type_argument (Qlistp, list); - - return result; + return CAR (list); } DEFUN ("rassq", Frassq, Srassq, 2, 2, 0, @@ -1612,8 +1578,6 @@ The value is actually the first element of LIST whose cdr is KEY. */) register Lisp_Object key; Lisp_Object list; { - Lisp_Object result; - while (1) { if (!CONSP (list) @@ -1637,14 +1601,7 @@ The value is actually the first element of LIST whose cdr is KEY. */) QUIT; } - if (NILP (list)) - result = Qnil; - else if (CONSP (list)) - result = XCAR (list); - else - result = wrong_type_argument (Qlistp, list); - - return result; + return CAR (list); } DEFUN ("rassoc", Frassoc, Srassoc, 2, 2, 0, @@ -1653,7 +1610,7 @@ The value is actually the first element of LIST whose cdr equals KEY. */) (key, list) Lisp_Object key, list; { - Lisp_Object result, cdr; + Lisp_Object cdr; while (1) { @@ -1681,14 +1638,7 @@ The value is actually the first element of LIST whose cdr equals KEY. */) QUIT; } - if (CONSP (list)) - result = XCAR (list); - else if (NILP (list)) - result = Qnil; - else - result = wrong_type_argument (Qlistp, list); - - return result; + return CAR (list); } DEFUN ("delq", Fdelq, Sdelq, 2, 2, 0, @@ -1708,8 +1658,7 @@ to be sure of changing the value of `foo'. */) prev = Qnil; while (!NILP (tail)) { - if (! CONSP (tail)) - wrong_type_argument (Qlistp, list); + CHECK_LIST_CONS (tail, list); tem = XCAR (tail); if (EQ (elt, tem)) { @@ -1831,8 +1780,7 @@ to be sure of changing the value of `foo'. */) for (tail = seq, prev = Qnil; !NILP (tail); tail = XCDR (tail)) { - if (!CONSP (tail)) - wrong_type_argument (Qlistp, seq); + CHECK_LIST_CONS (tail, seq); if (!NILP (Fequal (elt, XCAR (tail)))) { @@ -1864,8 +1812,7 @@ Return the reversed list. */) while (!NILP (tail)) { QUIT; - if (! CONSP (tail)) - wrong_type_argument (Qlistp, list); + CHECK_LIST_CONS (tail, list); next = XCDR (tail); Fsetcdr (tail, prev); prev = tail; @@ -1887,8 +1834,7 @@ See also the function `nreverse', which is used more often. */) QUIT; new = Fcons (XCAR (list), new); } - if (!NILP (list)) - wrong_type_argument (Qconsp, list); + CHECK_LIST_END (list, list); return new; } @@ -2012,8 +1958,7 @@ one of the properties on the list. */) QUIT; } - if (!NILP (tail)) - wrong_type_argument (Qlistp, prop); + CHECK_LIST_END (tail, prop); return Qnil; } @@ -2129,8 +2074,7 @@ one of the properties on the list. */) QUIT; } - if (!NILP (tail)) - wrong_type_argument (Qlistp, prop); + CHECK_LIST_END (tail, prop); return Qnil; } @@ -2344,7 +2288,6 @@ ARRAY is a vector, string, char-table, or bool-vector. */) Lisp_Object array, item; { register int size, index, charval; - retry: if (VECTORP (array)) { register Lisp_Object *p = XVECTOR (array)->contents; @@ -2408,10 +2351,7 @@ ARRAY is a vector, string, char-table, or bool-vector. */) } } else - { - array = wrong_type_argument (Qarrayp, array); - goto retry; - } + wrong_type_argument (Qarrayp, array); return array; } @@ -3042,8 +2982,7 @@ usage: (nconc &rest LISTS) */) if (argnum + 1 == nargs) break; - if (!CONSP (tem)) - tem = wrong_type_argument (Qlistp, tem); + CHECK_LIST_CONS (tem, tem); while (CONSP (tem)) { From 7fee0b516868ab4cdd24f69551ceb9870c2f4c67 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:17:29 +0000 Subject: [PATCH 173/336] (Fdefine_fringe_bitmap): Cleanup wrong_type_argument use. --- src/fringe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fringe.c b/src/fringe.c index a94f203c944..033832f7bb6 100644 --- a/src/fringe.c +++ b/src/fringe.c @@ -1423,7 +1423,7 @@ If BITMAP already exists, the existing definition is replaced. */) else if (VECTORP (bits)) h = XVECTOR (bits)->size; else - bits = wrong_type_argument (Qsequencep, bits); + wrong_type_argument (Qsequencep, bits); if (NILP (height)) fb.height = h; From 592c0e80abf8f67b287f95e258b2ca76bdbc70d7 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:19:04 +0000 Subject: [PATCH 174/336] (access_keymap_keyremap): Use ARRAYP. --- src/keyboard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/keyboard.c b/src/keyboard.c index 5e808739d6b..6bd9d754c60 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -8384,7 +8384,7 @@ access_keymap_keyremap (map, key, prompt, do_funcall) /* Handle a symbol whose function definition is a keymap or an array. */ if (SYMBOLP (next) && !NILP (Ffboundp (next)) - && (!NILP (Farrayp (XSYMBOL (next)->function)) + && (ARRAYP (XSYMBOL (next)->function) || KEYMAPP (XSYMBOL (next)->function))) next = XSYMBOL (next)->function; From ce5a29a111327b37df9b73dc2a17645138afda7c Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:19:15 +0000 Subject: [PATCH 175/336] (Fdefine_key, Flookup_key): Use CHECK_VECTOR_OR_STRING. --- src/keymap.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/keymap.c b/src/keymap.c index ecc2f7b2944..6f57bd63376 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -1138,8 +1138,7 @@ binding KEY to DEF is added at the front of KEYMAP. */) GCPRO3 (keymap, key, def); keymap = get_keymap (keymap, 1, 1); - if (!VECTORP (key) && !STRINGP (key)) - key = wrong_type_argument (Qarrayp, key); + CHECK_VECTOR_OR_STRING (key); length = XFASTINT (Flength (key)); if (length == 0) @@ -1249,8 +1248,7 @@ recognize the default bindings, just as `read-key-sequence' does. */) GCPRO2 (keymap, key); keymap = get_keymap (keymap, 1, 1); - if (!VECTORP (key) && !STRINGP (key)) - key = wrong_type_argument (Qarrayp, key); + CHECK_VECTOR_OR_STRING (key); length = XFASTINT (Flength (key)); if (length == 0) From 8878319cf18327c40fcbe06899ff500991cf0b92 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:19:27 +0000 Subject: [PATCH 176/336] (check_obarray): Cleanup wrong_type_argument use. --- src/lread.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/lread.c b/src/lread.c index 1cd2015cf01..3ee50e946a7 100644 --- a/src/lread.c +++ b/src/lread.c @@ -1378,7 +1378,7 @@ readevalloop (readcharfun, stream, sourcename, evalfun, if (MARKERP (readcharfun)) { if (NILP (start)) - start = readcharfun; + start = readcharfun; } if (BUFFERP (readcharfun)) @@ -1511,7 +1511,7 @@ readevalloop (readcharfun, stream, sourcename, evalfun, first_sexp = 0; } - build_load_history (sourcename, + build_load_history (sourcename, stream || whole_buffer); UNGCPRO; @@ -3249,12 +3249,11 @@ Lisp_Object check_obarray (obarray) Lisp_Object obarray; { - while (!VECTORP (obarray) || XVECTOR (obarray)->size == 0) + if (!VECTORP (obarray) || XVECTOR (obarray)->size == 0) { /* If Vobarray is now invalid, force it to be valid. */ if (EQ (Vobarray, obarray)) Vobarray = initial_obarray; - - obarray = wrong_type_argument (Qvectorp, obarray); + wrong_type_argument (Qvectorp, obarray); } return obarray; } From 979376ccccf4a90d6106d960c1eedf3138ddd80b Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:19:33 +0000 Subject: [PATCH 177/336] (Fmac_get_preference): Use CHECK_LIST_END. --- src/mac.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/mac.c b/src/mac.c index e25ed435342..4652757fab3 100644 --- a/src/mac.c +++ b/src/mac.c @@ -4625,8 +4625,7 @@ otherwise. */) CHECK_CONS (key); for (tmp = key; CONSP (tmp); tmp = XCDR (tmp)) CHECK_STRING_CAR (tmp); - if (!NILP (tmp)) - wrong_type_argument (Qlistp, key); + CHECK_LIST_END (tmp, key); } if (!NILP (application)) CHECK_STRING (application); From d76592ae1196a4c4990856725ecb51822087da06 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:19:42 +0000 Subject: [PATCH 178/336] (Fstart_kbd_macro): Use CHECK_VECTOR_OR_STRING. --- src/macros.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/macros.c b/src/macros.c index ef3ff8c0523..fb452e4e318 100644 --- a/src/macros.c +++ b/src/macros.c @@ -97,10 +97,7 @@ macro before appending to it. */) int cvt; /* Check the type of last-kbd-macro in case Lisp code changed it. */ - if (!STRINGP (current_kboard->Vlast_kbd_macro) - && !VECTORP (current_kboard->Vlast_kbd_macro)) - current_kboard->Vlast_kbd_macro - = wrong_type_argument (Qarrayp, current_kboard->Vlast_kbd_macro); + CHECK_VECTOR_OR_STRING (current_kboard->Vlast_kbd_macro); len = XINT (Flength (current_kboard->Vlast_kbd_macro)); From 0b4331b7bffe15e032481fdb905616a9615ecb6d Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:19:54 +0000 Subject: [PATCH 179/336] (Fcopy_marker): Use CHECK_TYPE. --- src/marker.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/marker.c b/src/marker.c index 79a7d702bdf..20b660ddadd 100644 --- a/src/marker.c +++ b/src/marker.c @@ -835,8 +835,7 @@ see `marker-insertion-type'. */) { register Lisp_Object new; - if (! (INTEGERP (marker) || MARKERP (marker))) - marker = wrong_type_argument (Qinteger_or_marker_p, marker); + CHECK_TYPE (INTEGERP (marker) || MARKERP (marker), Qinteger_or_marker_p, marker); new = Fmake_marker (); Fset_marker (new, marker, From 29100ceab859e7c13a6549cf0afe57355474b933 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:20:32 +0000 Subject: [PATCH 180/336] (Fset_match_data): Use CHECK_LIST. --- src/search.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/search.c b/src/search.c index 99db7f184fc..fe124091009 100644 --- a/src/search.c +++ b/src/search.c @@ -2874,8 +2874,7 @@ If optional arg RESEAT is non-nil, make markers on LIST point nowhere. */) if (running_asynch_code) save_search_regs (); - if (!CONSP (list) && !NILP (list)) - list = wrong_type_argument (Qconsp, list); + CHECK_LIST (list); /* Unless we find a marker with a buffer or an explicit buffer in LIST, assume that this match data came from a string. */ From ca29b4169d9a0087ae5b90f80f4806c5e90c4bd5 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:21:39 +0000 Subject: [PATCH 181/336] (sun_item_create): Use CHECK_LIST_CONS. --- src/sunfns.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sunfns.c b/src/sunfns.c index 1c04f1108a8..336f02221cf 100644 --- a/src/sunfns.c +++ b/src/sunfns.c @@ -363,7 +363,7 @@ sun_item_create (Pair) Lisp_Object String; Lisp_Object Value; - if (!CONSP(Pair)) wrong_type_argument(Qlistp, Pair); + CHECK_LIST_CONS (Pair, Pair); String = Fcar(Pair); CHECK_STRING(String); Value = Fcdr(Pair); From 47f5f6ae553af87d5d1975ae5848b98ebd422de3 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:21:51 +0000 Subject: [PATCH 182/336] (check_syntax_table): Use CHECK_TYPE. --- src/syntax.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/syntax.c b/src/syntax.c index fe458644caa..4f1bbb2d6b4 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -749,9 +749,8 @@ static void check_syntax_table (obj) Lisp_Object obj; { - if (!(CHAR_TABLE_P (obj) - && EQ (XCHAR_TABLE (obj)->purpose, Qsyntax_table))) - wrong_type_argument (Qsyntax_table_p, obj); + CHECK_TYPE (CHAR_TABLE_P (obj) && EQ (XCHAR_TABLE (obj)->purpose, Qsyntax_table), + Qsyntax_table_p, obj); } DEFUN ("syntax-table", Fsyntax_table, Ssyntax_table, 0, 0, 0, From 663fbbba4d9f50656e3f278fda1f38f3eafd2339 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:22:00 +0000 Subject: [PATCH 183/336] (Fwindow_configuration_frame, Fset_window_configuration): (compare_window_configurations): Use CHECK_WINDOW_CONFIGURATION. --- src/window.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/window.c b/src/window.c index c68c67c0afa..6859fc92f30 100644 --- a/src/window.c +++ b/src/window.c @@ -5883,8 +5883,7 @@ DEFUN ("window-configuration-frame", Fwindow_configuration_frame, Swindow_config register struct save_window_data *data; struct Lisp_Vector *saved_windows; - if (! WINDOW_CONFIGURATIONP (config)) - wrong_type_argument (Qwindow_configuration_p, config); + CHECK_WINDOW_CONFIGURATION (config); data = (struct save_window_data *) XVECTOR (config); saved_windows = XVECTOR (data->saved_windows); @@ -5909,8 +5908,7 @@ the return value is nil. Otherwise the value is t. */) FRAME_PTR f; int old_point = -1; - while (!WINDOW_CONFIGURATIONP (configuration)) - wrong_type_argument (Qwindow_configuration_p, configuration); + CHECK_WINDOW_CONFIGURATION (configuration); data = (struct save_window_data *) XVECTOR (configuration); saved_windows = XVECTOR (data->saved_windows); @@ -6949,10 +6947,8 @@ compare_window_configurations (c1, c2, ignore_positions) struct Lisp_Vector *sw1, *sw2; int i; - if (!WINDOW_CONFIGURATIONP (c1)) - wrong_type_argument (Qwindow_configuration_p, c1); - if (!WINDOW_CONFIGURATIONP (c2)) - wrong_type_argument (Qwindow_configuration_p, c2); + CHECK_WINDOW_CONFIGURATION (c1); + CHECK_WINDOW_CONFIGURATION (c2); d1 = (struct save_window_data *) XVECTOR (c1); d2 = (struct save_window_data *) XVECTOR (c2); From d5ddd1a30447fe6c83003c907db95c9f5c5b2148 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:22:10 +0000 Subject: [PATCH 184/336] (load_pixmap): Use CHECK_TYPE. --- src/xfaces.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/xfaces.c b/src/xfaces.c index 30e1c7aa5dc..14572af966d 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -1171,14 +1171,11 @@ load_pixmap (f, name, w_ptr, h_ptr) unsigned int *w_ptr, *h_ptr; { int bitmap_id; - Lisp_Object tem; if (NILP (name)) return 0; - tem = Fbitmap_spec_p (name); - if (NILP (tem)) - wrong_type_argument (Qbitmap_spec_p, name); + CHECK_TYPE (!NILP (Fbitmap_spec_p (name)), Qbitmap_spec_p, name); BLOCK_INPUT; if (CONSP (name)) From e55deb0b2c90a9f6fb6c53adb56403d369174ee0 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 12 Jul 2006 13:22:36 +0000 Subject: [PATCH 185/336] *** empty log message *** --- mac/ChangeLog | 4 ++++ src/ChangeLog | 2 ++ 2 files changed, 6 insertions(+) diff --git a/mac/ChangeLog b/mac/ChangeLog index e892b338595..20c9c255c58 100644 --- a/mac/ChangeLog +++ b/mac/ChangeLog @@ -1,3 +1,7 @@ +2006-07-12 Kim F. Storm + + * INSTALL: More cleanup related to last change. + 2006-07-12 YAMAMOTO Mitsuharu * INSTALL: Remove descriptions about Metrowerks CodeWarrior. Fix URL diff --git a/src/ChangeLog b/src/ChangeLog index 6919137332f..0382e6562af 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -55,6 +55,8 @@ * fringe.c (Fdefine_fringe_bitmap): * lread.c (check_obarray): Cleanup wrong_type_argument use. + * keyboard.c (access_keymap_keyremap): Use ARRAYP. + * keymap.c (Fdefine_key, Flookup_key): * macros.c (Fstart_kbd_macro): Use CHECK_VECTOR_OR_STRING. From 0ce026b1d2cb332b6fbc377b6a218a15a5b3ae16 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 15:56:33 +0000 Subject: [PATCH 186/336] (custom-no-edit): New command. (custom-mode-map): Remap to custom-no-edit instead of using suppress-keymap. --- lisp/cus-edit.el | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index d7ffab4bc5b..15efbc5ab91 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -4419,7 +4419,9 @@ The format is suitable for use with `easy-menu-define'." ;; Actually, this misfeature of dense keymaps was fixed on 2001-11-26. (let ((map (make-keymap))) (set-keymap-parent map widget-keymap) - (suppress-keymap map) + (define-key map [remap self-insert-command] + 'custom-no-edit) + (define-key map "\^m" 'custom-no-edit) (define-key map " " 'scroll-up) (define-key map "\177" 'scroll-down) (define-key map "\C-c\C-c" 'Custom-set) @@ -4431,6 +4433,11 @@ The format is suitable for use with `easy-menu-define'." map) "Keymap for `custom-mode'.") +(defun custom-no-edit () + "Refuse to allow editing of Custom buffer." + (interactive) + (error "You can't edit this part of the Custom buffer")) + (easy-menu-define Custom-mode-menu custom-mode-map "Menu used in customization buffers." From e1cac5702da02e7c856d6d14a043e1b6554ce585 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 15:57:07 +0000 Subject: [PATCH 187/336] (locate-file-completion): Avoid duplicates in result. --- lisp/files.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/files.el b/lisp/files.el index 90ca58a7511..af8e3d0e889 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -691,7 +691,7 @@ PATH-AND-SUFFIXES is a pair of lists, (DIRECTORIES . SUFFIXES)." (when (file-directory-p dir) (dolist (file (file-name-all-completions (file-name-nondirectory string) dir)) - (push (if string-dir (concat string-dir file) file) names) + (add-to-list 'names (if string-dir (concat string-dir file) file)) (when (string-match suffix file) (setq file (substring file 0 (match-beginning 0))) (push (if string-dir (concat string-dir file) file) names))))) From 38586111b136a4d4b77cb8c9dc78a84ec7884144 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 15:58:10 +0000 Subject: [PATCH 188/336] (describe-variable): Handle find-variable-noselect returning no position. --- lisp/help-fns.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 69555feb170..53e280fd1a7 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -534,7 +534,8 @@ it is displayed along with the global value." (error nil)))) (when location (with-current-buffer (car location) - (goto-char (cdr location)) + (when (cdr location) + (goto-char (cdr location))) (when (re-search-backward "^;;; Generated autoloads from \\(.*\\)" nil t) (setq file-name (match-string 1))))))) From 84333e068eca39d0867d169b8bc479bb2c32a69c Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 16:00:45 +0000 Subject: [PATCH 189/336] (help-variable-def): Handle find-variable-noselect returning no position. (help-function-def): Likewise for find-function-search-for-symbol. (help-face-def): Likewise. --- lisp/help-mode.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lisp/help-mode.el b/lisp/help-mode.el index 72b2554185f..7cdf78fbe13 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -157,7 +157,8 @@ The format is (FUNCTION ARGS...).") (let ((location (find-function-search-for-symbol fun nil file))) (pop-to-buffer (car location)) - (goto-char (cdr location)))) + (when (cdr location) + (goto-char (cdr location))))) 'help-echo (purecopy "mouse-2, RET: find function's definition")) (define-button-type 'help-variable-def @@ -167,7 +168,8 @@ The format is (FUNCTION ARGS...).") (setq file (help-C-file-name var 'var))) (let ((location (find-variable-noselect var file))) (pop-to-buffer (car location)) - (goto-char (cdr location)))) + (when (cdr location) + (goto-char (cdr location))))) 'help-echo (purecopy "mouse-2, RET: find variable's definition")) (define-button-type 'help-face-def @@ -179,7 +181,8 @@ The format is (FUNCTION ARGS...).") (let ((location (find-function-search-for-symbol fun 'defface file))) (pop-to-buffer (car location)) - (goto-char (cdr location)))) + (when (cdr location) + (goto-char (cdr location))))) 'help-echo (purecopy "mouse-2, RET: find face's definition")) From 39ff5f6495b22f79f2b94bf251d23ebe4d18b0ad Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 16:03:47 +0000 Subject: [PATCH 190/336] (find-function-search-for-symbol): If can't find definition, return nil for position. (find-function-do-it): Handle new return value of find-definition-noselect. (find-definition-noselect, find-variable-noselect): Doc fix. (find-function-noselect): Doc fix. --- lisp/emacs-lisp/find-func.el | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el index 5d504586323..41c940f1cec 100644 --- a/lisp/emacs-lisp/find-func.el +++ b/lisp/emacs-lisp/find-func.el @@ -205,6 +205,9 @@ TYPE should be nil to find a function, or `defvar' to find a variable." ;;;###autoload (defun find-function-search-for-symbol (symbol type library) "Search for SYMBOL's definition of type TYPE in LIBRARY. +Visit the library in a buffer, and return a cons cell (BUFFER . POSITION), +or just (BUFFER . nil) if the definition can't be found in the file. + If TYPE is nil, look for a function definition. Otherwise, TYPE specifies the kind of definition, and it is interpreted via `find-function-regexp-alist'. @@ -244,8 +247,7 @@ The search is done in the source for library LIBRARY." (progn (beginning-of-line) (cons (current-buffer) (point))) - (error "Cannot find definition of `%s' in library `%s'" - symbol library)))))))) + (cons (current-buffer) nil)))))))) ;;;###autoload (defun find-function-noselect (function) @@ -253,7 +255,8 @@ The search is done in the source for library LIBRARY." Finds the source file containing the definition of FUNCTION in a buffer and the point of the definition. The buffer is -not selected. +not selected. If the function definition can't be found in +the buffer, returns (BUFFER). If the file where FUNCTION is defined is not known, then it is searched for in `find-function-source-path' if non nil, otherwise @@ -335,7 +338,7 @@ Set mark before moving, if the buffer already existed." (when (memq new-buf orig-buffers) (push-mark orig-point)) (funcall switch-fn new-buf) - (goto-char new-point) + (when new-point (goto-char new-point)) (recenter find-function-recenter-line) (run-hooks 'find-function-after-hook)))) @@ -376,6 +379,7 @@ See `find-function' for more details." Finds the library containing the definition of VARIABLE in a buffer and the point of the definition. The buffer is not selected. +If the variable's definition can't be found in the buffer, return (BUFFER). The library where VARIABLE is defined is searched for in FILE or `find-function-source-path', if non nil, otherwise in `load-path'." @@ -421,6 +425,7 @@ See `find-variable' for more details." ;;;###autoload (defun find-definition-noselect (symbol type &optional file) "Return a pair `(BUFFER . POINT)' pointing to the definition of SYMBOL. +If the definition can't be found in the buffer, return (BUFFER). TYPE says what type of definition: nil for a function, `defvar' for a variable, `defface' for a face. This function does not switch to the buffer nor display it. From fea7b5149b0c05f34810911f3e279d058c2e3b6b Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 16:04:23 +0000 Subject: [PATCH 191/336] (edebug-instrument-function): Err if find-function-noselect gives no position. --- lisp/emacs-lisp/edebug.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 7e4972194bb..8645ec5a6ed 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -3419,6 +3419,8 @@ go to the end of the last sexp, or if that is the same point, then step." func) (t (let ((loc (find-function-noselect func))) + (unless (cdr loc) + (error "Could not find the definition in its file")) (with-current-buffer (car loc) (goto-char (cdr loc)) (edebug-eval-top-level-form) From 8aed3f67d3d8d9f8d40a2ec073180ceb2d8fd584 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 16:04:46 +0000 Subject: [PATCH 192/336] (Info-try-follow-nearest-node): Doc fix. --- lisp/info.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/info.el b/lisp/info.el index b448a048e7d..87327d8656b 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -3077,7 +3077,8 @@ If FORK is a string, it is the name to use for the new buffer." ;; Common subroutine. (defun Info-try-follow-nearest-node (&optional fork) - "Follow a node reference near point. Return non-nil if successful." + "Follow a node reference near point. Return non-nil if successful. +If FORK is non-nil, it i spassed to `Info-goto-node'." (let (node) (cond ((Info-get-token (point) "[hf]t?tp://" "[hf]t?tp://\\([^ \t\n\"`({<>})']+\\)") From f911a4454addf2b3d39f52c6e7ac83d5d1c27032 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 16:05:19 +0000 Subject: [PATCH 193/336] (grep-last-buffer): Doc fix. --- lisp/progmodes/grep.el | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index eb803422027..37d4952058b 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -232,8 +232,7 @@ See `compilation-error-screen-columns'" ;; override compilation-last-buffer (defvar grep-last-buffer nil "The most recent grep buffer. -A grep buffer becomes most recent when its process is started -or when it is used with \\[grep-next-match]. +A grep buffer becomes most recent when you select Grep mode in it. Notice that using \\[next-error] or \\[compile-goto-error] modifies `complation-last-buffer' rather than `grep-last-buffer'.") From 9aa9b967b95678f96cdbbeeae61c8b29bf7fc589 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 16:07:17 +0000 Subject: [PATCH 194/336] (Coding Conventions): Explain why use cl at compile time. --- lispref/tips.texi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lispref/tips.texi b/lispref/tips.texi index c8cd4770113..4dc24196272 100644 --- a/lispref/tips.texi +++ b/lispref/tips.texi @@ -119,8 +119,9 @@ standard Emacs namespace. If your package loads @code{cl} at run time, that could cause name clashes for users who don't use that package. However, there is no problem with using the @code{cl} package at -compile time, e.g. for macros, with -@code{(eval-when-compile (require 'cl))}. +compile time, with @code{(eval-when-compile (require 'cl))}. That's +sufficient for using the macros in the @code{cl} package, because the +compiler expands them before generating the byte-code. @item When defining a major mode, please follow the major mode From 6dec797eaae8932c3cf1f742db4d8c20bd50e323 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 16:09:36 +0000 Subject: [PATCH 195/336] (Frames): Explain nature of frames better. --- lispref/frames.texi | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lispref/frames.texi b/lispref/frames.texi index 09b0df1615c..427b2fd710c 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi @@ -8,10 +8,16 @@ @chapter Frames @cindex frame - A @dfn{frame} is a rectangle on the screen that contains one or more -Emacs windows. A frame initially contains a single main window (plus -perhaps a minibuffer window), which you can subdivide vertically or -horizontally into smaller windows. + In Emacs editing, A @dfn{frame} is a screen objec that contains one +or more Emacs windows. It's the kind of object that is called a +``window'' in the terminology of graphical environments; but we can't +call it a ``window'' here, because Emacs uses that word in a different +way. + + A frame initially contains a single main window and/or a minibuffer +window; you can subdivide the main window vertically or horizontally +into smaller windows. In Emacs Lisp, a @dfn{frame object} is a Lisp +object that represents a frame on the screen. @cindex terminal frame When Emacs runs on a text-only terminal, it starts with one From cdbd53be7f2af22713a5f82b491b172e99f33c26 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 16:09:53 +0000 Subject: [PATCH 196/336] Fix typo in prev change. --- lispref/frames.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lispref/frames.texi b/lispref/frames.texi index 427b2fd710c..51d83de8d94 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi @@ -8,7 +8,7 @@ @chapter Frames @cindex frame - In Emacs editing, A @dfn{frame} is a screen objec that contains one + In Emacs editing, A @dfn{frame} is a screen object that contains one or more Emacs windows. It's the kind of object that is called a ``window'' in the terminology of graphical environments; but we can't call it a ``window'' here, because Emacs uses that word in a different From 0c1cf12271ac2ffca1cabbb180e7d5257858ca7d Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 16:10:27 +0000 Subject: [PATCH 197/336] (Frame Type): Explain nature of frames better. --- lispref/objects.texi | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lispref/objects.texi b/lispref/objects.texi index ec4f30076c4..3b51b96c780 100644 --- a/lispref/objects.texi +++ b/lispref/objects.texi @@ -1442,10 +1442,9 @@ in any given window can change frequently. @node Frame Type @subsection Frame Type - A @dfn{frame} is a rectangle on the screen that contains one or more -Emacs windows. A frame initially contains a single main window (plus -perhaps a minibuffer window) which you can subdivide vertically or -horizontally into smaller windows. + A @dfn{frame} is a screen area that contains one or more Emacs +windows; we also use the term ``frame'' to refer to the Lisp object +that Emacs uses to refer to the screen area. Frames have no read syntax. They print in hash notation, giving the frame's title, plus its address in core (useful to identify the frame From 2c6e026af76cd26af019d07fa57a6f0668c965fc Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 12 Jul 2006 16:10:39 +0000 Subject: [PATCH 198/336] *** empty log message *** --- lisp/ChangeLog | 30 ++++++++++++++++++++++++++++++ lispref/ChangeLog | 15 ++++++++++----- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0154ff83245..27219563639 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,33 @@ +2006-07-12 Richard Stallman + + * progmodes/grep.el (grep-last-buffer): Doc fix. + + * info.el (Info-try-follow-nearest-node): Doc fix. + + * emacs-lisp/edebug.el (edebug-instrument-function): + Err if find-function-noselect gives no position. + + * emacs-lisp/find-func.el (find-function-search-for-symbol): + If can't find definition, return nil for position. + (find-function-do-it): Handle new return value + of find-definition-noselect. + (find-definition-noselect, find-variable-noselect): Doc fix. + (find-function-noselect): Doc fix. + + * help-mode.el (help-variable-def): Handle find-variable-noselect + returning no position. + (help-function-def): Likewise for find-function-search-for-symbol. + (help-face-def): Likewise. + + * help-fns.el (describe-variable): Handle find-variable-noselect + returning no position. + + * files.el (locate-file-completion): Avoid duplicates in result. + + * cus-edit.el (custom-no-edit): New command. + (custom-mode-map): Remap to custom-no-edit instead of + using suppress-keymap. + 2006-07-12 Nick Roberts * tumme.el (tumme-create-thumb) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index d43e55c93f5..88bfc32905d 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,13 @@ +2006-07-12 Richard Stallman + + * objects.texi (Frame Type): Explain nature of frames better. + + * frames.texi (Frames): Explain nature of frames better. + +2006-07-12 Ken Manheimer + + * tips.texi (Coding Conventions): Explain why use cl at compile time. + 2006-07-12 YAMAMOTO Mitsuharu * frames.texi (Window System Selections): Mention scrap support for Mac. @@ -14,11 +24,6 @@ (sit-for 0) is equivalent to (redisplay). Iconifying/deiconifying no longer makes sit-for return. -2006-07-11 Nick Roberts - - * tips.texi (Coding Conventions): Mention macros. - Suggested by Ken Manheimer. - 2006-07-10 Nick Roberts * display.texi (Buttons): Fix typo. From 68ade564b27d51b4a73f2d557ecd17c987ace899 Mon Sep 17 00:00:00 2001 From: Romain Francoise Date: Wed, 12 Jul 2006 17:25:38 +0000 Subject: [PATCH 199/336] Formatting fixes. --- lisp/ChangeLog | 4 ++-- src/ChangeLog | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 27219563639..57a591374ab 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -11,7 +11,7 @@ If can't find definition, return nil for position. (find-function-do-it): Handle new return value of find-definition-noselect. - (find-definition-noselect, find-variable-noselect): Doc fix. + (find-definition-noselect, find-variable-noselect): Doc fix. (find-function-noselect): Doc fix. * help-mode.el (help-variable-def): Handle find-variable-noselect @@ -62,7 +62,7 @@ 2006-07-11 Robert J. Chassell - * textmodes/texinfmt.el: (texinfo-format-separate-node): + * textmodes/texinfmt.el (texinfo-format-separate-node): Insert a string before point, which fits documentation, not after. (texinfo-multitable-item): In a multitable row, insert any additional needed @tabs and spaces. diff --git a/src/ChangeLog b/src/ChangeLog index 0382e6562af..d45831da762 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -113,7 +113,7 @@ 2006-07-11 Kim F. Storm - * dispnew.c (Fredisplay): Add FORCE argument to force redisplay when + * dispnew.c (Fredisplay): Add FORCE argument to force redisplay when input is available. Fix test for redisplay_dont_pause non-nil. Specbind redisplay-dont-pause to t if FORCE non-nil. From 3d3a26eb2944bddf59efe2aa32eadf6df3e6efe8 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 12 Jul 2006 18:05:53 +0000 Subject: [PATCH 200/336] *** empty log message *** --- lisp/gnus/ChangeLog | 52 +++++++++++++++++++-------------------------- lisp/url/ChangeLog | 4 ++-- 2 files changed, 24 insertions(+), 32 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index d1f63c63324..195b778d223 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -175,8 +175,8 @@ * mml.el (mml-mode, mml-dnd-protocol-alist) (mml-dnd-attach-options, mml-dnd-attach-file) - (mml-attach-file, mml-attach-buffer, mml-attach-external): Sync - DND support and use of message-in-body-p from the trunk. + (mml-attach-file, mml-attach-buffer, mml-attach-external): + Sync DND support and use of message-in-body-p from the trunk. 2006-04-26 Katsumi Yamaoka @@ -192,8 +192,7 @@ 2006-04-25 Andreas Seltenreich - * nnweb.el (nnweb-google-wash-article): Sync up to new Google - HTML. + * nnweb.el (nnweb-google-wash-article): Sync up to new Google HTML. 2006-04-25 Katsumi Yamaoka @@ -305,16 +304,14 @@ * rfc2047.el (rfc2047-decode-encoded-words): Don't message about unknown charset. - * message.el (message-header-synonyms): Add Original-To to the - default. + * message.el (message-header-synonyms): Add Original-To to the default. - * gnus-sum.el (gnus-get-newsgroup-headers-xover): group is an + * gnus-sum.el (gnus-get-newsgroup-headers-xover): Group is an optional parameter. 2006-04-07 Reiner Steib - * pgg-gpg.el: Revert to revision 7.15 to allow the use of - gpg-agent. + * pgg-gpg.el: Revert to revision 7.15 to allow the use of gpg-agent. 2006-04-06 Reiner Steib @@ -322,14 +319,13 @@ 2006-04-04 Andreas Seltenreich - * nnweb.el (nnweb-google-create-mapping): Update regexp. Some - whitespace was matched into the url, which broke browsing hits + * nnweb.el (nnweb-google-create-mapping): Update regexp. + Some whitespace was matched into the url, which broke browsing hits > 100 when mm-url-use-external was nil. 2006-03-31 Reiner Steib - * gnus-group.el (gnus-group-update-tool-bar): Add :initialize and - :set. + * gnus-group.el (gnus-group-update-tool-bar): Add :initialize and :set. 2006-03-23 Katsumi Yamaoka @@ -400,8 +396,8 @@ 2006-03-15 Andreas Seltenreich - * gnus-art.el (gnus-article-only-boring-p): Bind - inhibit-point-motion-hooks to avoid infinite loop when entering + * gnus-art.el (gnus-article-only-boring-p): + Bind inhibit-point-motion-hooks to avoid infinite loop when entering intangible text. Reported by Ralf Wachinger . @@ -472,8 +468,7 @@ 2006-03-03 Katsumi Yamaoka - * mm-decode.el (mm-get-part): Don't use - mm-with-unibyte-current-buffer. + * mm-decode.el (mm-get-part): Don't use mm-with-unibyte-current-buffer. * gnus-sum.el (gnus-summary-set-display-table): Don't nix out characters 160 through 255 in Emacs 23. @@ -493,8 +488,8 @@ 2006-02-28 Reiner Steib - * nnweb.el (nnweb-type-definition, nnweb-gmane-search): Use new - nov.php. + * nnweb.el (nnweb-type-definition, nnweb-gmane-search): + Use new nov.php. 2006-02-28 Andreas Seltenreich @@ -686,8 +681,8 @@ 2006-02-06 Reiner Steib - * spam-report.el (spam-report-gmane-use-article-number): Improve - doc string. + * spam-report.el (spam-report-gmane-use-article-number): + Improve doc string. (spam-report-gmane-internal): Check if a suitable header was found in the article. @@ -726,12 +721,10 @@ * nnweb.el (nnweb-group-alist): Use defvar instead of defvoo, there's only one active file for all servers. (nnweb-request-scan): Make sure nnweb-articles is initialized on - solid groups. Gnus might have used a FAST request to select the - group. + solid groups. Gnus might have used a FAST request to select the group. (nnweb-request-group, nnweb-google-parse-1): Don't keep nnweb-type and nnweb-search redundantly in the active file. - (nnweb-request-list): Don't list bogus groups. There can only be - one. + (nnweb-request-list): Don't list bogus groups. There can only be one. (nnweb-request-create-group): Don't use ARGS. (nnweb-possibly-change-server, nnweb-request-group): Remove some initialisations. Let nnoo do the work. @@ -742,14 +735,13 @@ (message-setup-1): Call `message-use-alternative-email-as-from' after `message-setup-hook' to give it precedence over posting styles, etc. - (message-use-alternative-email-as-from): Add docstring. Remove - the original From header if present. + (message-use-alternative-email-as-from): Add docstring. + Remove the original From header if present. 2006-01-31 Katsumi Yamaoka - * mm-uu.el (mm-uu-emacs-sources-extract): Say the part has been - decoded. - (mm-uu-diff-extract): Ditto. + * mm-uu.el (mm-uu-emacs-sources-extract, mm-uu-diff-extract): + Say the part has been decoded. 2006-01-31 Kevin Ryde diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index e8848528e18..0eb0b654053 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -4,7 +4,7 @@ (url-cookie-write-file): Don't use versioned backups. (url-cookie-host-can-set-p): Remove unused var `tmp'. -2006-07-04 Andreas Seltenreich (tiny change) +2006-07-04 Andreas Seltenreich * url-cookie.el (url-cookie-save-interval): Move to url-cookie group. (url-cookie-write-file): Reset url-cookies-changed-since-last-save. @@ -13,7 +13,7 @@ * url-http.el (url-http-file-exists-p): Test if status is integer. -2006-05-05 Andreas Seltenreich (tiny change) +2006-05-05 Andreas Seltenreich * url-http.el (url-http-parse-headers): Don't reuse connection if "Connection: close" header was seen. From fe5a02b3688971317d3f474d37b00048f75e07f9 Mon Sep 17 00:00:00 2001 From: Alex Schroeder Date: Wed, 12 Jul 2006 19:07:33 +0000 Subject: [PATCH 201/336] Fix typos. (Getting started with rcirc): New calling convention for M-x irc. Mention #rcirc. Removed channel tracking. (Configuration): Changed the names of all variables that got changed recently, eg. rcirc-server to rcirc-default-server. Added documentation for rcirc-authinfo, some background for Bitlbee, and rcirc-track-minor-mode. (Scrolling conservatively): Fixed the xref from Auto Scrolling to just Scrolling. (Reconnecting after you have lost the connection): Fixed example code to match code changes. --- man/ChangeLog | 14 ++++ man/rcirc.texi | 178 +++++++++++++++++++++++++++++++++++++------------ 2 files changed, 151 insertions(+), 41 deletions(-) diff --git a/man/ChangeLog b/man/ChangeLog index 2a12386777f..060d66c9c18 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,17 @@ +2006-07-12 Alex Schroeder + + * rcirc.texi: Fix typos. + (Getting started with rcirc): New calling convention for M-x irc. + Mention #rcirc. Removed channel tracking. + (Configuration): Changed the names of all variables that got changed + recently, eg. rcirc-server to rcirc-default-server. Added + documentation for rcirc-authinfo, some background for Bitlbee, and + rcirc-track-minor-mode. + (Scrolling conservatively): Fixed the xref from Auto Scrolling to just + Scrolling. + (Reconnecting after you have lost the connection): Fixed example code + to match code changes. + 2006-07-10 Nick Roberts * killing.texi, gnus.texi, message.texi, mini.texi: Fix typos. diff --git a/man/rcirc.texi b/man/rcirc.texi index f2413705d09..fb24a681b7f 100644 --- a/man/rcirc.texi +++ b/man/rcirc.texi @@ -136,9 +136,9 @@ all the other users on the same channel. @cindex addressing other people @cindex other people, addressing them @cindex talk to other people -If you want to address someone specifically, for example as an answer -to a question, it is custom to prefix the message with the nick -followed by a colon, like this: +If you want to address someone specifically, for example as an answer to +a question, it is customary to prefix the message with the nick followed +by a colon, like this: @example deego: fsbot rules! @@ -155,8 +155,12 @@ Since this is so common, you can use @key{TAB} to do nick completion. @cindex connecting to a server @cindex irc command -Use the command @kbd{M-x irc} to connect to a server. You will be asked -for four things: +Use the command @kbd{M-x irc} to connect using the defaults. +@xref{Configuration}, if you want to change the defaults. + +Use @kbd{C-u M-x irc} if you don't want to use the defaults, eg. if you +want to connect to a different network, or connect to the same network +using a different nick. This will prompt you for four things: @table @asis @cindex server, connecting @@ -184,7 +188,7 @@ have to use a different port. @vindex user-login-name Every users needs a handle on-line. You will automatically be assigned a slightly different nick if your chosen nick is already in use. If -your @code{user-login-name} is @code{"alex"}, and this nick is already +your @code{user-login-name} is @code{alex}, and this nick is already in use, you might for example get assigned the nick @code{alex`}. @cindex channels, connecting @@ -194,7 +198,8 @@ in use, you might for example get assigned the nick @code{alex`}. A space separated list of channels you want to join when connecting. You don't need to join any channels, if you just want to have one-to-one conversations with friends on the same network. If you're new to the -Freenode network, join @code{#emacs}, the about all things Emacs. +Freenode network, join @code{#emacs}, the channel about all things +Emacs, or join @code{#rcirc}, the channel about @code{rcirc}. @end table @cindex server buffer @@ -219,17 +224,6 @@ C-c} to finish editing. You still need to press @key{RET} to send it, though. Generally, IRC users don't like people pasting more than around four lines of code, so use with care. -@kindex C-c C-SPC -@cindex switching channels -@cindex tracking activity -@cindex active channel -@cindex abbreviated channel names -@cindex modeline tracks activity -You will note that when other people say things in buffers that are -currently buried (no window is showing them), the mode line will show -you the abbreviated channel or nick name. Use @kbd{C-c C-@key{SPC}} to switch -to these buffers. - @node Reference, Hacking and Tweaking, Basics, Top @chapter Reference @cindex reference @@ -441,35 +435,35 @@ These are some variables you can change to configure @code{rcirc} to your liking. @table @code -@item rcirc-server -@vindex rcirc-server +@item rcirc-default-server +@vindex rcirc-default-server the default server to connect to. -@item rcirc-port -@vindex rcirc-port +@item rcirc-default-port +@vindex rcirc-default-port the default port to connect to. -@item rcirc-nick -@vindex rcirc-nick +@item rcirc-default-nick +@vindex rcirc-default-nick the default nick to use. @end table @example -(setq rcirc-server "irc.mozilla.org" - rcirc-port 6666 - rcirc-nick "alx") +(setq rcirc-default-server "irc.mozilla.org" + rcirc-default-port 6666 + rcirc-default-nick "alx") @end example -@vindex rcirc-user-full-name +@vindex rcirc-default-user-full-name @cindex full name @cindex real name @cindex surname -@code{rcirc-user-full-name} is used to set your ``real name'' on IRC. -It defaults to @code{user-full-name}. If you want to hide your full -name, you might want to set it to some pseudonym. +@code{rcirc-default-user-full-name} is used to set your ``real name'' on +IRC. It defaults to @code{user-full-name}. If you want to hide your +full name, you might want to set it to some pseudonym. @example -(setq rcirc-user-full-name "Curious Minds Want To Know") +(setq rcirc-default-user-full-name "Curious Minds Want To Know") @end example @vindex rcirc-startup-channels-alist @@ -493,6 +487,108 @@ In the example above we're exploiting a naming convention used by within the Freenode network --- all servers within the network have a host in the @code{freenode.net} domain. +@vindex rcirc-authinfo +@cindex authentification +@cindex identification +@cindex nickserv +@cindex login +@code{rcirc-authinfo} is an alist used to automatically identify +yourself on networks. Each sublist starts with a regular expression +that is compared to the server address you're connecting to. The second +element in the list is a symbol representing the method to use, followed +by the arguments this method requires. + +Here is an example to illustrate how you would set it: + +@example +(setq rcirc-startup-channels-alist + '(("freenode" nickserv "bob" "p455w0rd") + ("freenode" chanserv "bob" "#bobland" "passwd99") + ("bitlbee" bitlbee "robert" "sekrit"))) +@end example + +And here are the valid method symbols and the arguments they require: + +@table @code +@item nickserv +@cindex nickserv authentification +Use this symbol if you need to identify yourself as follows when +connecting to a network: @code{/msg nickserv identify secret}. The +necessary arguments are the nickname you want to use this for, and the +password to use. + +Before you can use this method, you will have to register your nick and +pick a password for it. Contact @code{nickserv} and check out the +details. (Using @code{/msg nickserv help}, for example.) + +@item chanserv +@cindex chanserv authentification +Use this symbol if you need to identify yourself as follows if you want +to join a particular channel: @code{/msg chanserv identify #underground +secret}. The necessary arguments are the nickname and channel you want +to use this for, and the password to use. + +Before you can use this method, a channel contact must tell you about +the password to use. Contact @code{chanserv} and check out the details. +(Using @code{/msg chanserv help}, for example.) + +@item bitlbee +@cindex bitlbee authentification +Use this symbol if you need to identify yourself in the Bitlbee channel +as follows: @code{identify secret}. The necessary arguments are the +nickname you want to use this for, and the password to use. + +@cindex gateway to other IM services +@cindex instant messaging, other services +@cindex Jabber +@cindex AIM +@cindex ICQ +@cindex MSN +@cindex Yahoo! +Bitlbee acts like an IRC server, but in fact it is a gateway to a lot of +other instant messaging services. You can either install Bitlbee +locally or use a public Bitlbee server. There, you need to create an +account with a password. This is the nick and password you need to +provide for the bitlbee authentification method. + +Later, you will tell Bitlbee about your accounts and passwords on all +the other instant messaging services, and Bitlbee will log you in. All +@code{rcirc} needs to know, is the login to your Bitlbee account. Don't +confuse the Bitlbee account with all the other accounts. +@end table + +@kindex C-c C-SPC +@vindex rcirc-track-minor-mode +@cindex switching channels +@cindex tracking activity +@cindex active channel +@cindex abbreviated channel names +@cindex modeline tracks activity +Most people want a notification when something is said on a channel they +have joined, particularly if they have been addressed directly. There +is a global minor mode that will do this kind of tracking for you. All +you need to do is switch it on using @kbd{M-x rcirc-track-minor-mode}. +To make this permanent, add the following to your init file: + +@example +(rcirc-track-minor-mode 1) +@end example + +When other people say things in buffers that are currently buried (no +window is showing them), the mode line will now show you the abbreviated +channel or nick name. Use @kbd{C-c C-@key{SPC}} to switch to these +buffers. + +@vindex rcirc-mode-hook +If you prefer not to load @code{rcirc} immediately, you can delay the +activation of this mode: + +@example +(add-hook 'rcirc-mode-hook + (lambda () + (rcirc-track-minor-mode 1))) +@end example + @node Hacking and Tweaking, Key Index, Reference, Top @chapter Hacking and Tweaking @cindex hacking and tweaking @@ -566,7 +662,7 @@ window when possible. The following snippet uses a local value for 8192))) @end example -@xref{Auto Scrolling, , Scrolling conservatively, emacs, The GNU Emacs +@xref{Scrolling, , Scrolling conservatively, emacs, The GNU Emacs Manual}, for details. @node Changing the time stamp format, Defining a new command, Scrolling conservatively, Hacking and Tweaking @@ -630,21 +726,21 @@ The real answer, therefore, is a @code{/reconnect} command: (error "There's no process for this target")) (let* ((server (car (process-contact process))) (port (process-contact process :service)) - (nick (with-rcirc-process-buffer process rcirc-nick)) + (nick (rcirc-nick process)) channels query-buffers) (dolist (buf (buffer-list)) (with-current-buffer buf - (when (eq process rcirc-process) + (when (eq process (rcirc-buffer-process)) + (remove-hook 'change-major-mode-hook + 'rcirc-change-major-mode-hook) (if (rcirc-channel-p rcirc-target) (setq channels (cons rcirc-target channels)) (setq query-buffers (cons buf query-buffers)))))) (delete-process process) - (let ((new-process (rcirc-connect server port nick - rcirc-user-name user-full-name - channels))) - (dolist (buf query-buffers) - (with-current-buffer buf - (setq rcirc-process new-process))))))) + (rcirc-connect server port nick + rcirc-default-user-name + rcirc-default-user-full-name + channels)))) @end smallexample @node Key Index, Variable Index, Hacking and Tweaking, Top From 6991960bf796139833ccc6158c745f9a8ca03aef Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 12 Jul 2006 23:52:18 +0000 Subject: [PATCH 202/336] * longlines.el (longlines-post-command-function): Handle open-line too. --- lisp/ChangeLog | 5 +++++ lisp/longlines.el | 16 +++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 57a591374ab..b23e8b538b0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-12 Chong Yidong + + * longlines.el (longlines-post-command-function): Handle open-line + too. + 2006-07-12 Richard Stallman * progmodes/grep.el (grep-last-buffer): Doc fix. diff --git a/lisp/longlines.el b/lisp/longlines.el index b11d4e6faba..943ee80cc0b 100644 --- a/lisp/longlines.el +++ b/lisp/longlines.el @@ -401,11 +401,17 @@ This is called by `post-command-hook' after each command." (longlines-decode-region (point) (mark t)) (if longlines-showing (longlines-show-region (point) (mark t)))) - ((and (eq this-command 'newline) longlines-showing) - (save-excursion - (if (search-backward "\n" nil t) - (longlines-show-region - (match-beginning 0) (match-end 0)))))) + (longlines-showing + (cond ((eq this-command 'newline) + (save-excursion + (if (search-backward "\n" nil t) + (longlines-show-region + (match-beginning 0) (match-end 0))))) + ((eq this-command 'open-line) + (save-excursion + (if (search-forward "\n" nil t) + (longlines-show-region + (match-beginning 0) (match-end 0)))))))) (unless (or (eq this-command 'fill-paragraph) (eq this-command 'fill-region)) (longlines-wrap-region longlines-wrap-beg longlines-wrap-end)) From d40ec4a023ec50eb087323b427644663b054c0f0 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Thu, 13 Jul 2006 06:06:45 +0000 Subject: [PATCH 203/336] (Fformat): Fix calculation of text property positions of format string. --- src/ChangeLog | 5 +++++ src/editfns.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index d45831da762..827abe51c57 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2006-07-13 Kenichi Handa + + * editfns.c (Fformat): Fix calculation of text property positions + of format string. + 2006-07-12 Kim F. Storm * lisp.h (CHECK_TYPE): New macro for generic type checking. diff --git a/src/editfns.c b/src/editfns.c index 98a42855ba5..cf37c10a9d5 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -3886,7 +3886,7 @@ usage: (format STRING &rest OBJECTS) */) /* Likewise adjust the property end position. */ pos = XINT (XCAR (XCDR (item))); - for (; bytepos < pos; bytepos++) + for (; position < pos; bytepos++) { if (! discarded[bytepos]) position++, translated++; From 60c86a8342777e0c2f12c5dab3a71b8bcfdc33fb Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 13 Jul 2006 11:44:10 +0000 Subject: [PATCH 204/336] (scan_sexps_forward): Use EMACS_INT for out_bytepos and out_charpos. --- src/ChangeLog | 5 +++++ src/syntax.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 827abe51c57..e3cc69c7487 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2006-07-13 Andreas Schwab + + * syntax.c (scan_sexps_forward): Use EMACS_INT for out_bytepos and + out_charpos. + 2006-07-13 Kenichi Handa * editfns.c (Fformat): Fix calculation of text property positions diff --git a/src/syntax.c b/src/syntax.c index 4f1bbb2d6b4..9959c17ad47 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -2702,7 +2702,7 @@ scan_sexps_forward (stateptr, from, from_byte, end, targetdepth, int boundary_stop = commentstop == -1; int nofence; int found; - int out_bytepos, out_charpos; + EMACS_INT out_bytepos, out_charpos; int temp; prev_from = from; From f3500bbee134676ddc9716ee2485174c8e9bef06 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 13 Jul 2006 13:43:26 +0000 Subject: [PATCH 205/336] *** empty log message *** --- src/ChangeLog | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index e3cc69c7487..8437853d887 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,17 @@ +2006-07-13 Kim F. Storm + + * bytecode.c (Fbyte_code): Use CAR, CDR for Bcar, Bcdr. + Use CAR_SAFE, CDR_SAFE for Bcar_safe, Bcdr_safe. + Simplify loops and use CAR for Bnth and Belt. + + * data.c (Findirect_function): Optimize for no indirection. + + * eval.c (Fthrow): Remove loop around Fsignal. + (Feval, Fapply, Ffuncall): Optimize for no function indirection. + Use original function name in all signaled errors. + Simplify Fsignal calls (no return). + (funcall_lambda): Simplify Fsignal calls (no return). + 2006-07-13 Andreas Schwab * syntax.c (scan_sexps_forward): Use EMACS_INT for out_bytepos and From 14c5155a18934ab22c052886978661abe0a259df Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 13 Jul 2006 13:43:38 +0000 Subject: [PATCH 206/336] (Fbyte_code): Use CAR, CDR for Bcar, Bcdr. Use CAR_SAFE, CDR_SAFE for Bcar_safe, Bcdr_safe. Simplify loops and use CAR for Bnth and Belt. --- src/bytecode.c | 62 ++++++++------------------------------------------ 1 file changed, 10 insertions(+), 52 deletions(-) diff --git a/src/bytecode.c b/src/bytecode.c index d71006cb660..2facaa47062 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -541,12 +541,7 @@ If the third argument is incorrect, Emacs may crash. */) { Lisp_Object v1; v1 = TOP; - if (CONSP (v1)) - TOP = XCAR (v1); - else if (NILP (v1)) - TOP = Qnil; - else - wrong_type_argument (Qlistp, v1); + TOP = CAR (v1); break; } @@ -572,12 +567,7 @@ If the third argument is incorrect, Emacs may crash. */) { Lisp_Object v1; v1 = TOP; - if (CONSP (v1)) - TOP = XCDR (v1); - else if (NILP (v1)) - TOP = Qnil; - else - wrong_type_argument (Qlistp, v1); + TOP = CDR (v1); break; } @@ -912,23 +902,10 @@ If the third argument is incorrect, Emacs may crash. */) AFTER_POTENTIAL_GC (); op = XINT (v2); immediate_quit = 1; - while (--op >= 0) - { - if (CONSP (v1)) - v1 = XCDR (v1); - else if (!NILP (v1)) - { - immediate_quit = 0; - wrong_type_argument (Qlistp, v1); - } - } + while (--op >= 0 && CONSP (v1)) + v1 = XCDR (v1); immediate_quit = 0; - if (CONSP (v1)) - TOP = XCAR (v1); - else if (NILP (v1)) - TOP = Qnil; - else - wrong_type_argument (Qlistp, v1); + TOP = CAR (v1); break; } @@ -1551,23 +1528,10 @@ If the third argument is incorrect, Emacs may crash. */) AFTER_POTENTIAL_GC (); op = XINT (v2); immediate_quit = 1; - while (--op >= 0) - { - if (CONSP (v1)) - v1 = XCDR (v1); - else if (!NILP (v1)) - { - immediate_quit = 0; - wrong_type_argument (Qlistp, v1); - } - } + while (--op >= 0 && CONSP (v1)) + v1 = XCDR (v1); immediate_quit = 0; - if (CONSP (v1)) - TOP = XCAR (v1); - else if (NILP (v1)) - TOP = Qnil; - else - wrong_type_argument (Qlistp, v1); + TOP = CAR (v1); } else { @@ -1629,10 +1593,7 @@ If the third argument is incorrect, Emacs may crash. */) { Lisp_Object v1; v1 = TOP; - if (CONSP (v1)) - TOP = XCAR (v1); - else - TOP = Qnil; + TOP = CAR_SAFE (v1); break; } @@ -1640,10 +1601,7 @@ If the third argument is incorrect, Emacs may crash. */) { Lisp_Object v1; v1 = TOP; - if (CONSP (v1)) - TOP = XCDR (v1); - else - TOP = Qnil; + TOP = CDR_SAFE (v1); break; } From 64de53d81bc8ebdafaafbe377de0a941b53c2e8c Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 13 Jul 2006 13:43:44 +0000 Subject: [PATCH 207/336] (Findirect_function): Optimize for no indirection. --- src/data.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/data.c b/src/data.c index 0b46fceb298..f715be56cee 100644 --- a/src/data.c +++ b/src/data.c @@ -1913,13 +1913,18 @@ function chain of symbols. */) { Lisp_Object result; - result = indirect_function (object); + /* Optimize for no indirection. */ + result = object; + if (SYMBOLP (result) && !EQ (result, Qunbound) + && (result = XSYMBOL (result)->function, SYMBOLP (result))) + result = indirect_function (result); + if (!EQ (result, Qunbound)) + return result; - if (EQ (result, Qunbound)) - return (NILP (noerror) - ? Fsignal (Qvoid_function, Fcons (object, Qnil)) - : Qnil); - return result; + if (NILP (noerror)) + Fsignal (Qvoid_function, Fcons (object, Qnil)); + + return Qnil; } /* Extract and set vector and string elements */ From 8788120ff42d2e5c0be7f2a9856517e7075252ba Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 13 Jul 2006 13:43:50 +0000 Subject: [PATCH 208/336] (Fthrow): Remove loop around Fsignal. (Feval, Fapply, Ffuncall): Optimize for no function indirection. Use original function name in all signaled errors. Simplify Fsignal calls (no return). (funcall_lambda): Simplify Fsignal calls (no return). --- src/eval.c | 80 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 34 deletions(-) diff --git a/src/eval.c b/src/eval.c index 30df5f8ea36..a07ab32e76b 100644 --- a/src/eval.c +++ b/src/eval.c @@ -1289,16 +1289,14 @@ Both TAG and VALUE are evalled. */) { register struct catchtag *c; - while (1) - { - if (!NILP (tag)) - for (c = catchlist; c; c = c->next) - { - if (EQ (c->tag, tag)) - unwind_to_catch (c, value); - } - tag = Fsignal (Qno_catch, Fcons (tag, Fcons (value, Qnil))); - } + if (!NILP (tag)) + for (c = catchlist; c; c = c->next) + { + if (EQ (c->tag, tag)) + unwind_to_catch (c, value); + } + Fsignal (Qno_catch, list2 (tag, value)); + abort (); } @@ -2166,7 +2164,12 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0, /* At this point, only original_fun and original_args have values that will be used below */ retry: - fun = Findirect_function (original_fun, Qnil); + + /* Optimize for no indirection. */ + fun = original_fun; + if (SYMBOLP (fun) && !EQ (fun, Qunbound) + && (fun = XSYMBOL (fun)->function, SYMBOLP (fun))) + fun = indirect_function (fun); if (SUBRP (fun)) { @@ -2182,7 +2185,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0, if (XINT (numargs) < XSUBR (fun)->min_args || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < XINT (numargs))) - return Fsignal (Qwrong_number_of_arguments, Fcons (fun, Fcons (numargs, Qnil))); + Fsignal (Qwrong_number_of_arguments, list2 (original_fun, numargs)); if (XSUBR (fun)->max_args == UNEVALLED) { @@ -2285,11 +2288,13 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0, val = apply_lambda (fun, original_args, 1); else { + if (EQ (fun, Qunbound)) + Fsignal (Qvoid_function, Fcons (original_fun, Qnil)); if (!CONSP (fun)) - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); funcar = Fcar (fun); if (!SYMBOLP (funcar)) - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); if (EQ (funcar, Qautoload)) { do_autoload (fun, original_fun); @@ -2300,7 +2305,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0, else if (EQ (funcar, Qlambda)) val = apply_lambda (fun, original_args, 1); else - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); } done: CHECK_CONS_LIST (); @@ -2345,7 +2350,10 @@ usage: (apply FUNCTION &rest ARGUMENTS) */) numargs += nargs - 2; - fun = indirect_function (fun); + /* Optimize for no indirection. */ + if (SYMBOLP (fun) && !EQ (fun, Qunbound) + && (fun = XSYMBOL (fun)->function, SYMBOLP (fun))) + fun = indirect_function (fun); if (EQ (fun, Qunbound)) { /* Let funcall get the error */ @@ -2824,7 +2832,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) int nargs; Lisp_Object *args; { - Lisp_Object fun; + Lisp_Object fun, original_fun; Lisp_Object funcar; int numargs = nargs - 1; Lisp_Object lisp_numargs; @@ -2861,11 +2869,15 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) CHECK_CONS_LIST (); + original_fun = args[0]; + retry: - fun = args[0]; - - fun = Findirect_function (fun, Qnil); + /* Optimize for no indirection. */ + fun = original_fun; + if (SYMBOLP (fun) && !EQ (fun, Qunbound) + && (fun = XSYMBOL (fun)->function, SYMBOLP (fun))) + fun = indirect_function (fun); if (SUBRP (fun)) { @@ -2873,11 +2885,11 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < numargs)) { XSETFASTINT (lisp_numargs, numargs); - return Fsignal (Qwrong_number_of_arguments, Fcons (fun, Fcons (lisp_numargs, Qnil))); + Fsignal (Qwrong_number_of_arguments, list2 (original_fun, lisp_numargs)); } if (XSUBR (fun)->max_args == UNEVALLED) - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); if (XSUBR (fun)->max_args == MANY) { @@ -2949,21 +2961,23 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) val = funcall_lambda (fun, numargs, args + 1); else { + if (EQ (fun, Qunbound)) + Fsignal (Qvoid_function, Fcons (original_fun, Qnil)); if (!CONSP (fun)) - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); funcar = Fcar (fun); if (!SYMBOLP (funcar)) - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); if (EQ (funcar, Qlambda)) val = funcall_lambda (fun, numargs, args + 1); else if (EQ (funcar, Qautoload)) { - do_autoload (fun, args[0]); + do_autoload (fun, original_fun); CHECK_CONS_LIST (); goto retry; } else - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); } done: CHECK_CONS_LIST (); @@ -3039,7 +3053,7 @@ funcall_lambda (fun, nargs, arg_vector) if (CONSP (syms_left)) syms_left = XCAR (syms_left); else - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + Fsignal (Qinvalid_function, Fcons (fun, Qnil)); } else if (COMPILEDP (fun)) syms_left = AREF (fun, COMPILED_ARGLIST); @@ -3052,8 +3066,8 @@ funcall_lambda (fun, nargs, arg_vector) QUIT; next = XCAR (syms_left); - while (!SYMBOLP (next)) - next = Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + if (!SYMBOLP (next)) + Fsignal (Qinvalid_function, Fcons (fun, Qnil)); if (EQ (next, Qand_rest)) rest = 1; @@ -3067,17 +3081,15 @@ funcall_lambda (fun, nargs, arg_vector) else if (i < nargs) specbind (next, arg_vector[i++]); else if (!optional) - return Fsignal (Qwrong_number_of_arguments, - Fcons (fun, Fcons (make_number (nargs), Qnil))); + Fsignal (Qwrong_number_of_arguments, list2 (fun, make_number (nargs))); else specbind (next, Qnil); } if (!NILP (syms_left)) - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + Fsignal (Qinvalid_function, Fcons (fun, Qnil)); else if (i < nargs) - return Fsignal (Qwrong_number_of_arguments, - Fcons (fun, Fcons (make_number (nargs), Qnil))); + Fsignal (Qwrong_number_of_arguments, list2 (fun, make_number (nargs))); if (CONSP (fun)) val = Fprogn (XCDR (XCDR (fun))); From e17833bc7d723d70600ab8df9a3cce04f01544ea Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 13 Jul 2006 14:45:10 +0000 Subject: [PATCH 209/336] simplify last fix. --- lisp/longlines.el | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/lisp/longlines.el b/lisp/longlines.el index 943ee80cc0b..9da3de217ab 100644 --- a/lisp/longlines.el +++ b/lisp/longlines.el @@ -396,22 +396,11 @@ that has changed." "Perform line wrapping on the parts of the buffer that have changed. This is called by `post-command-hook' after each command." (when longlines-wrap-beg - (cond ((or (eq this-command 'yank) - (eq this-command 'yank-pop)) - (longlines-decode-region (point) (mark t)) - (if longlines-showing - (longlines-show-region (point) (mark t)))) - (longlines-showing - (cond ((eq this-command 'newline) - (save-excursion - (if (search-backward "\n" nil t) - (longlines-show-region - (match-beginning 0) (match-end 0))))) - ((eq this-command 'open-line) - (save-excursion - (if (search-forward "\n" nil t) - (longlines-show-region - (match-beginning 0) (match-end 0)))))))) + (if (or (eq this-command 'yank) + (eq this-command 'yank-pop)) + (longlines-decode-region (point) (mark t))) + (if longlines-showing + (longlines-show-region longlines-wrap-beg longlines-wrap-end)) (unless (or (eq this-command 'fill-paragraph) (eq this-command 'fill-region)) (longlines-wrap-region longlines-wrap-beg longlines-wrap-end)) From 02dcdad34e95289a98dfb5784cb4c51f16fe0ae5 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 13 Jul 2006 18:13:06 +0000 Subject: [PATCH 210/336] (make-autoload): Remove special handling of minor modes, redundant with the custom-autoload line above. --- lisp/ChangeLog | 12 ++++++++---- lisp/emacs-lisp/autoload.el | 12 +----------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b23e8b538b0..b73a218acfc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,7 +1,11 @@ +2006-07-13 Stefan Monnier + + * emacs-lisp/autoload.el (make-autoload): Remove special handling of + minor modes, redundant with the custom-autoload line above. + 2006-07-12 Chong Yidong - * longlines.el (longlines-post-command-function): Handle open-line - too. + * longlines.el (longlines-post-command-function): Handle open-line too. 2006-07-12 Richard Stallman @@ -55,8 +59,8 @@ (vc-print-log): Run log-view-mode in process sentinel inside inhibit-read-only. Don't shrink window due to timing issues. - * progmodes/ebrowse.el (ebrowse-display-member-buffer): Avoid - using with-output-to-temp-buffer, which clobbers local vars. + * progmodes/ebrowse.el (ebrowse-display-member-buffer): + Avoid using with-output-to-temp-buffer, which clobbers local vars. 2006-07-11 Stefan Monnier diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 76699f10df8..4000b4da282 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -124,17 +124,7 @@ or macro definition or a defcustom)." ) `(progn (defvar ,varname ,init ,doc) - (custom-autoload ',varname ,file) - ;; The use of :require in a defcustom can be annoying, especially - ;; when defcustoms are moved from one file to another between - ;; releases because the :require arg gets placed in the user's - ;; .emacs. In order for autoloaded minor modes not to need the - ;; use of :require, we arrange to store their :setter. - ,(let ((setter (condition-case nil - (cadr (memq :set form)) - (error nil)))) - (if (equal setter ''custom-set-minor-mode) - `(put ',varname 'custom-set 'custom-set-minor-mode)))))) + (custom-autoload ',varname ,file)))) ((eq car 'defgroup) ;; In Emacs this is normally handled separately by cus-dep.el, but for From bd012d46a103b1a2b119e4a8a1c327bbebc8bf06 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 13 Jul 2006 18:24:44 +0000 Subject: [PATCH 211/336] Re-generated to reflect change in autoload.el. --- lisp/ldefs-boot.el | 2054 +++++++++++++++++++++++++------------------- 1 file changed, 1191 insertions(+), 863 deletions(-) diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index ee7f9ca1161..621bfa0f066 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -4,7 +4,7 @@ ;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best ;;;;;; 5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5" -;;;;;; "play/5x5.el" (17382 1892)) +;;;;;; "play/5x5.el" (17383 32181)) ;;; Generated autoloads from play/5x5.el (autoload (quote 5x5) "5x5" "\ @@ -61,10 +61,16 @@ should return a grid vector array that is the new solution. \(fn BREEDER)" t nil) +;;;*** + +;;;### (autoloads nil "abbrev" "abbrev.el" (17494 22057)) +;;; Generated autoloads from abbrev.el +(put 'abbrev-mode 'safe-local-variable 'booleanp) + ;;;*** ;;;### (autoloads (list-one-abbrev-table) "abbrevlist" "abbrevlist.el" -;;;;;; (17403 28587)) +;;;;;; (17404 53184)) ;;; Generated autoloads from abbrevlist.el (autoload (quote list-one-abbrev-table) "abbrevlist" "\ @@ -75,7 +81,7 @@ Display alphabetical listing of ABBREV-TABLE in buffer OUTPUT-BUFFER. ;;;*** ;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el" -;;;;;; (17388 18084)) +;;;;;; (17578 34778)) ;;; Generated autoloads from progmodes/ada-mode.el (autoload (quote ada-add-extensions) "ada-mode" "\ @@ -136,7 +142,7 @@ If you use ada-xref.el: ;;;*** ;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el" -;;;;;; (17388 22063)) +;;;;;; (17397 61560)) ;;; Generated autoloads from progmodes/ada-stmt.el (autoload (quote ada-header) "ada-stmt" "\ @@ -147,7 +153,7 @@ Insert a descriptive header at the top of the file. ;;;*** ;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el" -;;;;;; (17388 22063)) +;;;;;; (17397 61560)) ;;; Generated autoloads from progmodes/ada-xref.el (autoload (quote ada-find-file) "ada-xref" "\ @@ -162,7 +168,7 @@ Completion is available. ;;;;;; change-log-mode add-change-log-entry-other-window add-change-log-entry ;;;;;; find-change-log prompt-for-change-log-name add-log-mailing-address ;;;;;; add-log-full-name add-log-current-defun-function) "add-log" -;;;;;; "add-log.el" (17352 9346)) +;;;;;; "add-log.el" (17515 39525)) ;;; Generated autoloads from add-log.el (defvar add-log-current-defun-function nil "\ @@ -179,7 +185,7 @@ This defaults to the value returned by the function `user-full-name'.") (custom-autoload (quote add-log-full-name) "add-log") (defvar add-log-mailing-address nil "\ -*Email addresses of user, for inclusion in ChangeLog headers. +Email addresses of user, for inclusion in ChangeLog headers. This defaults to the value of `user-mail-address'. In addition to being a simple string, this value can also be a list. All elements will be recognized as referring to the same user; when creating a new @@ -232,7 +238,7 @@ The change log file can start with a copyright notice and a copying permission notice. The first blank line indicates the end of these notices. -Today's date is calculated according to `change-log-time-zone-rule' if +Today's date is calculated according to `add-log-time-zone-rule' if non-nil, otherwise in local time. \(fn &optional WHOAMI FILE-NAME OTHER-WINDOW NEW-ENTRY)" t nil) @@ -298,9 +304,9 @@ Fix any old-style date entries in the current log file to default format. ;;;*** -;;;### (autoloads (defadvice ad-add-advice ad-default-compilation-action -;;;;;; ad-redefinition-action) "advice" "emacs-lisp/advice.el" (17383 -;;;;;; 16118)) +;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice +;;;;;; ad-enable-advice ad-default-compilation-action ad-redefinition-action) +;;;;;; "advice" "emacs-lisp/advice.el" (17578 34774)) ;;; Generated autoloads from emacs-lisp/advice.el (defvar ad-redefinition-action (quote warn) "\ @@ -327,6 +333,16 @@ COMPILE argument of `ad-activate' was supplied as nil.") (custom-autoload (quote ad-default-compilation-action) "advice") +(autoload (quote ad-enable-advice) "advice" "\ +Enables the advice of FUNCTION with CLASS and NAME. + +\(fn FUNCTION CLASS NAME)" t nil) + +(autoload (quote ad-disable-advice) "advice" "\ +Disable the advice of FUNCTION with CLASS and NAME. + +\(fn FUNCTION CLASS NAME)" t nil) + (autoload (quote ad-add-advice) "advice" "\ Add a piece of ADVICE to FUNCTION's list of advices in CLASS. If FUNCTION already has one or more pieces of advice of the specified @@ -342,6 +358,25 @@ will clear the cache. \(fn FUNCTION ADVICE CLASS POSITION)" nil nil) +(autoload (quote ad-activate) "advice" "\ +Activate all the advice information of an advised FUNCTION. +If FUNCTION has a proper original definition then an advised +definition will be generated from FUNCTION's advice info and the +definition of FUNCTION will be replaced with it. If a previously +cached advised definition was available, it will be used. +The optional COMPILE argument determines whether the resulting function +or a compilable cached definition will be compiled. If it is negative +no compilation will be performed, if it is positive or otherwise non-nil +the resulting function will be compiled, if it is nil the behavior depends +on the value of `ad-default-compilation-action' (which see). +Activation of an advised function that has an advice info but no actual +pieces of advice is equivalent to a call to `ad-unadvise'. Activation of +an advised function that has actual pieces of advice but none of them are +enabled is equivalent to a call to `ad-deactivate'. The current advised +definition will always be cached for later usage. + +\(fn FUNCTION &optional COMPILE)" t nil) + (autoload (quote defadvice) "advice" "\ Define a piece of advice for FUNCTION (a symbol). The syntax of `defadvice' is as follows: @@ -399,7 +434,7 @@ See Info node `(elisp)Advising Functions' for comprehensive documentation. ;;;### (autoloads (align-newline-and-indent align-unhighlight-rule ;;;;;; align-highlight-rule align-current align-entire align-regexp -;;;;;; align) "align" "align.el" (17383 24123)) +;;;;;; align) "align" "align.el" (17383 32089)) ;;; Generated autoloads from align.el (autoload (quote align) "align" "\ @@ -489,9 +524,41 @@ A replacement function for `newline-and-indent', aligning as it goes. ;;;*** ;;;### (autoloads (outlineify-sticky allout-mode) "allout" "allout.el" -;;;;;; (17431 34439)) +;;;;;; (17582 28845)) ;;; Generated autoloads from allout.el +(put (quote allout-show-bodies) (quote safe-local-variable) (if (fboundp (quote booleanp)) (quote booleanp) (quote (lambda (x) (member x (quote (t nil))))))) + +(put (quote allout-header-prefix) (quote safe-local-variable) (quote stringp)) + +(put (quote allout-primary-bullet) (quote safe-local-variable) (quote stringp)) + +(put (quote allout-plain-bullets-string) (quote safe-local-variable) (quote stringp)) + +(put (quote allout-distinctive-bullets-string) (quote safe-local-variable) (quote stringp)) + +(put (quote allout-use-mode-specific-leader) (quote safe-local-variable) (quote (lambda (x) (or (memq x (quote (t nil allout-mode-leaders comment-start))) (stringp x))))) + +(put (quote allout-old-style-prefixes) (quote safe-local-variable) (if (fboundp (quote booleanp)) (quote booleanp) (quote (lambda (x) (member x (quote (t nil))))))) + +(put (quote allout-stylish-prefixes) (quote safe-local-variable) (if (fboundp (quote booleanp)) (quote booleanp) (quote (lambda (x) (member x (quote (t nil))))))) + +(put (quote allout-numbered-bullet) (quote safe-local-variable) (if (fboundp (quote string-or-null-p)) (quote string-or-null-p) (quote (lambda (x) (or (stringp x) (null x)))))) + +(put (quote allout-file-xref-bullet) (quote safe-local-variable) (if (fboundp (quote string-or-null-p)) (quote string-or-null-p) (quote (lambda (x) (or (stringp x) (null x)))))) + +(put (quote allout-presentation-padding) (quote safe-local-variable) (quote integerp)) + +(put (quote allout-use-hanging-indents) (quote safe-local-variable) (if (fboundp (quote booleanp)) (quote booleanp) (quote (lambda (x) (member x (quote (t nil))))))) + +(put (quote allout-reindent-bodies) (quote safe-local-variable) (quote (lambda (x) (memq x (quote (nil t text force)))))) + +(put (quote allout-layout) (quote safe-local-variable) (quote (lambda (x) (or (numberp x) (listp x) (memq x (quote (: * + -))))))) + +(put (quote allout-passphrase-verifier-string) (quote safe-local-variable) (quote stringp)) + +(put (quote allout-passphrase-hint-string) (quote safe-local-variable) (quote stringp)) + (autoload (quote allout-mode) "allout" "\ Toggle minor mode for controlling exposure and editing of text outlines. \\ @@ -711,7 +778,7 @@ setup for auto-startup. ;;;*** ;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp" -;;;;;; "net/ange-ftp.el" (17383 13296)) +;;;;;; "net/ange-ftp.el" (17383 32174)) ;;; Generated autoloads from net/ange-ftp.el (defalias (quote ange-ftp-re-read-dir) (quote ange-ftp-reread-dir)) @@ -733,7 +800,7 @@ Not documented ;;;*** ;;;### (autoloads (animate-birthday-present animate-sequence animate-string) -;;;;;; "animate" "play/animate.el" (17382 1892)) +;;;;;; "animate" "play/animate.el" (17383 32181)) ;;; Generated autoloads from play/animate.el (autoload (quote animate-string) "animate" "\ @@ -761,7 +828,7 @@ You can specify the one's name by NAME; the default value is \"Sarah\". ;;;*** ;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on) -;;;;;; "ansi-color" "ansi-color.el" (17383 24123)) +;;;;;; "ansi-color" "ansi-color.el" (17383 32090)) ;;; Generated autoloads from ansi-color.el (autoload (quote ansi-color-for-comint-mode-on) "ansi-color" "\ @@ -787,7 +854,7 @@ This is a good function to put in `comint-output-filter-functions'. ;;;*** ;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules) -;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (17388 22063)) +;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (17484 52436)) ;;; Generated autoloads from progmodes/antlr-mode.el (autoload (quote antlr-show-makefile-rules) "antlr-mode" "\ @@ -826,7 +893,7 @@ Used in `antlr-mode'. Also a useful function in `java-mode-hook'. ;;;### (autoloads (appt-activate appt-make-list appt-delete appt-add ;;;;;; appt-display-diary appt-display-duration appt-display-mode-line ;;;;;; appt-msg-window appt-visible appt-audible appt-message-warning-time -;;;;;; appt-issue-message) "appt" "calendar/appt.el" (17403 28563)) +;;;;;; appt-issue-message) "appt" "calendar/appt.el" (17578 34774)) ;;; Generated autoloads from calendar/appt.el (defvar appt-issue-message t "\ @@ -892,7 +959,7 @@ Update the appointments list from today's diary buffer. The time must be at the beginning of a line for it to be put in the appointments list (see examples in documentation of the function `appt-check'). We assume that the variables DATE and -NUMBER hold the arguments that `list-diary-entries' received. +NUMBER hold the arguments that `diary-list-entries' received. They specify the range of dates that the diary is being processed for. Any appointments made with `appt-add' are not affected by this @@ -914,7 +981,7 @@ ARG is positive, otherwise off. ;;;### (autoloads (apropos-documentation apropos-value apropos apropos-documentation-property ;;;;;; apropos-command apropos-variable apropos-read-pattern) "apropos" -;;;;;; "apropos.el" (17443 62455)) +;;;;;; "apropos.el" (17484 52422)) ;;; Generated autoloads from apropos.el (autoload (quote apropos-read-pattern) "apropos" "\ @@ -1010,8 +1077,8 @@ Returns list of symbols and documentation found. ;;;*** -;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (17422 -;;;;;; 14887)) +;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (17578 +;;;;;; 34770)) ;;; Generated autoloads from arc-mode.el (autoload (quote archive-mode) "arc-mode" "\ @@ -1031,7 +1098,7 @@ archive. ;;;*** -;;;### (autoloads (array-mode) "array" "array.el" (17358 48216)) +;;;### (autoloads (array-mode) "array" "array.el" (17358 42654)) ;;; Generated autoloads from array.el (autoload (quote array-mode) "array" "\ @@ -1102,8 +1169,8 @@ Entering array mode calls the function `array-mode-hook'. ;;;*** -;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (17383 -;;;;;; 15658)) +;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (17521 +;;;;;; 64539)) ;;; Generated autoloads from textmodes/artist.el (autoload (quote artist-mode) "artist" "\ @@ -1308,8 +1375,8 @@ Keymap summary ;;;*** -;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (17388 -;;;;;; 22063)) +;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (17487 +;;;;;; 53546)) ;;; Generated autoloads from progmodes/asm-mode.el (autoload (quote asm-mode) "asm-mode" "\ @@ -1337,7 +1404,7 @@ Special commands: ;;;*** ;;;### (autoloads (auto-show-mode auto-show-mode) "auto-show" "obsolete/auto-show.el" -;;;;;; (17075 55468)) +;;;;;; (16221 3779)) ;;; Generated autoloads from obsolete/auto-show.el (defvar auto-show-mode nil "\ @@ -1353,7 +1420,7 @@ This command is obsolete. ;;;*** ;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el" -;;;;;; (17383 24124)) +;;;;;; (17383 32090)) ;;; Generated autoloads from autoarg.el (defvar autoarg-mode nil "\ @@ -1362,8 +1429,6 @@ See the command `autoarg-mode' for a description of this minor-mode.") (custom-autoload (quote autoarg-mode) "autoarg") -(put (quote autoarg-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote autoarg-mode) "autoarg" "\ Toggle Autoarg minor mode globally. With ARG, turn Autoarg mode on if ARG is positive, off otherwise. @@ -1394,8 +1459,6 @@ use either \\[customize] or the function `autoarg-kp-mode'.") (custom-autoload (quote autoarg-kp-mode) "autoarg") -(put (quote autoarg-kp-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote autoarg-kp-mode) "autoarg" "\ Toggle Autoarg-KP minor mode globally. With ARG, turn Autoarg mode on if ARG is positive, off otherwise. @@ -1410,7 +1473,7 @@ This is similar to \\[autoarg-mode] but rebinds the keypad keys `kp-1' ;;;*** ;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el" -;;;;;; (17388 22063)) +;;;;;; (17397 61561)) ;;; Generated autoloads from progmodes/autoconf.el (autoload (quote autoconf-mode) "autoconf" "\ @@ -1421,7 +1484,7 @@ Major mode for editing Autoconf configure.in files. ;;;*** ;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert) -;;;;;; "autoinsert" "autoinsert.el" (17383 24124)) +;;;;;; "autoinsert" "autoinsert.el" (17383 32090)) ;;; Generated autoloads from autoinsert.el (autoload (quote auto-insert) "autoinsert" "\ @@ -1445,8 +1508,6 @@ use either \\[customize] or the function `auto-insert-mode'.") (custom-autoload (quote auto-insert-mode) "autoinsert") -(put (quote auto-insert-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote auto-insert-mode) "autoinsert" "\ Toggle Auto-insert mode. With prefix ARG, turn Auto-insert mode on if and only if ARG is positive. @@ -1461,7 +1522,7 @@ insert a template for the file depending on the mode of the buffer. ;;;### (autoloads (batch-update-autoloads update-directory-autoloads ;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el" -;;;;;; (17410 23724)) +;;;;;; (17590 36007)) ;;; Generated autoloads from emacs-lisp/autoload.el (autoload (quote update-file-autoloads) "autoload" "\ @@ -1496,7 +1557,7 @@ Calls `update-directory-autoloads' on the command line arguments. ;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode ;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode) -;;;;;; "autorevert" "autorevert.el" (17383 24124)) +;;;;;; "autorevert" "autorevert.el" (17503 24305)) ;;; Generated autoloads from autorevert.el (autoload (quote auto-revert-mode) "autorevert" "\ @@ -1552,8 +1613,6 @@ use either \\[customize] or the function `global-auto-revert-mode'.") (custom-autoload (quote global-auto-revert-mode) "autorevert") -(put (quote global-auto-revert-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote global-auto-revert-mode) "autorevert" "\ Revert any buffer when file on disk changes. @@ -1566,7 +1625,7 @@ Use `auto-revert-mode' to revert a particular buffer. ;;;*** ;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid" -;;;;;; "avoid.el" (17383 24124)) +;;;;;; "avoid.el" (17503 24305)) ;;; Generated autoloads from avoid.el (defvar mouse-avoidance-mode nil "\ @@ -1607,7 +1666,7 @@ definition of \"random distance\".) ;;;*** ;;;### (autoloads (backquote) "backquote" "emacs-lisp/backquote.el" -;;;;;; (17383 16118)) +;;;;;; (17383 32135)) ;;; Generated autoloads from emacs-lisp/backquote.el (autoload (quote backquote) "backquote" "\ @@ -1632,7 +1691,7 @@ Vectors work just like lists. Nested backquotes are permitted. ;;;*** ;;;### (autoloads (display-battery-mode battery) "battery" "battery.el" -;;;;;; (17427 20614)) +;;;;;; (17515 39525)) ;;; Generated autoloads from battery.el (put 'battery-mode-line-string 'risky-local-variable t) @@ -1651,8 +1710,6 @@ use either \\[customize] or the function `display-battery-mode'.") (custom-autoload (quote display-battery-mode) "battery") -(put (quote display-battery-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote display-battery-mode) "battery" "\ Display battery status information in the mode line. The text being displayed in the mode line is controlled by the variables @@ -1665,7 +1722,7 @@ seconds. ;;;*** ;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run) -;;;;;; "benchmark" "emacs-lisp/benchmark.el" (17383 16118)) +;;;;;; "benchmark" "emacs-lisp/benchmark.el" (17383 32135)) ;;; Generated autoloads from emacs-lisp/benchmark.el (autoload (quote benchmark-run) "benchmark" "\ @@ -1697,8 +1754,8 @@ non-interactive use see also `benchmark-run' and ;;;*** -;;;### (autoloads (bibtex-mode) "bibtex" "textmodes/bibtex.el" (17437 -;;;;;; 53997)) +;;;### (autoloads (bibtex-mode) "bibtex" "textmodes/bibtex.el" (17578 +;;;;;; 34779)) ;;; Generated autoloads from textmodes/bibtex.el (autoload (quote bibtex-mode) "bibtex" "\ @@ -1760,7 +1817,7 @@ if that value is non-nil. ;;;### (autoloads (binhex-decode-region binhex-decode-region-external ;;;;;; binhex-decode-region-internal) "binhex" "gnus/binhex.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32153)) ;;; Generated autoloads from gnus/binhex.el (defconst binhex-begin-line "^:...............................................................$") @@ -1783,8 +1840,8 @@ Binhex decode region between START and END. ;;;*** -;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (17382 -;;;;;; 1892)) +;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (17383 +;;;;;; 32181)) ;;; Generated autoloads from play/blackbox.el (autoload (quote blackbox) "blackbox" "\ @@ -1906,7 +1963,7 @@ a reflection. ;;;### (autoloads (bookmark-bmenu-list bookmark-load bookmark-save ;;;;;; bookmark-write bookmark-delete bookmark-insert bookmark-rename ;;;;;; bookmark-insert-location bookmark-relocate bookmark-jump -;;;;;; bookmark-set) "bookmark" "bookmark.el" (17383 24124)) +;;;;;; bookmark-set) "bookmark" "bookmark.el" (17383 32091)) ;;; Generated autoloads from bookmark.el (define-key ctl-x-map "rb" 'bookmark-jump) (define-key ctl-x-map "rm" 'bookmark-set) @@ -2096,7 +2153,7 @@ deletion, or > if it is flagged for displaying. ;;;;;; browse-url browse-url-of-region browse-url-of-dired-file ;;;;;; browse-url-of-buffer browse-url-of-file browse-url-url-at-point ;;;;;; browse-url-galeon-program browse-url-firefox-program browse-url-browser-function) -;;;;;; "browse-url" "net/browse-url.el" (17383 13296)) +;;;;;; "browse-url" "net/browse-url.el" (17521 64538)) ;;; Generated autoloads from net/browse-url.el (defvar browse-url-browser-function (cond ((memq system-type (quote (windows-nt ms-dos cygwin))) (quote browse-url-default-windows-browser)) ((memq system-type (quote (darwin))) (quote browse-url-default-macosx-browser)) (t (quote browse-url-default-browser))) "\ @@ -2427,8 +2484,8 @@ Default to the URL around or before point. ;;;*** -;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (17382 -;;;;;; 1892)) +;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (17383 +;;;;;; 32181)) ;;; Generated autoloads from play/bruce.el (autoload (quote bruce) "bruce" "\ @@ -2444,7 +2501,7 @@ Return a vector containing the lines from `bruce-phrases-file'. ;;;*** ;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next) -;;;;;; "bs" "bs.el" (17395 3136)) +;;;;;; "bs" "bs.el" (17397 61539)) ;;; Generated autoloads from bs.el (autoload (quote bs-cycle-next) "bs" "\ @@ -2486,7 +2543,7 @@ name of buffer configuration. ;;;### (autoloads (insert-text-button make-text-button insert-button ;;;;;; make-button define-button-type) "button" "button.el" (17383 -;;;;;; 24124)) +;;;;;; 32092)) ;;; Generated autoloads from button.el (defvar button-map (let ((map (make-sparse-keymap))) (define-key map " " (quote push-button)) (define-key map [mouse-2] (quote push-button)) map) "\ @@ -2573,9 +2630,16 @@ Also see `make-text-button'. ;;;### (autoloads (batch-byte-recompile-directory batch-byte-compile ;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile ;;;;;; compile-defun byte-compile-file byte-recompile-directory -;;;;;; byte-force-recompile) "bytecomp" "emacs-lisp/bytecomp.el" -;;;;;; (17351 57359)) +;;;;;; byte-force-recompile byte-compile-warnings-safe-p) "bytecomp" +;;;;;; "emacs-lisp/bytecomp.el" (17582 35542)) ;;; Generated autoloads from emacs-lisp/bytecomp.el +(put 'byte-compile-dynamic 'safe-local-variable 'booleanp) +(put 'byte-compile-dynamic-docstrings 'safe-local-variable 'booleanp) + +(autoload (quote byte-compile-warnings-safe-p) "bytecomp" "\ +Not documented + +\(fn X)" nil nil) (autoload (quote byte-force-recompile) "bytecomp" "\ Recompile every `.el' file in DIRECTORY that already has a `.elc' file. @@ -2600,6 +2664,7 @@ If the third argument FORCE is non-nil, recompile every `.el' file that already has a `.elc' file. \(fn DIRECTORY &optional ARG FORCE)" t nil) +(put 'no-byte-compile 'safe-local-variable 'booleanp) (autoload (quote byte-compile-file) "bytecomp" "\ Compile a file of Lisp code named FILENAME into a file of byte code. @@ -2670,7 +2735,7 @@ and corresponding effects. ;;;*** -;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17385 41891)) +;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17397 61545)) ;;; Generated autoloads from calendar/cal-dst.el (put (quote calendar-daylight-savings-starts) (quote risky-local-variable) t) @@ -2680,7 +2745,7 @@ and corresponding effects. ;;;*** ;;;### (autoloads (list-yahrzeit-dates) "cal-hebrew" "calendar/cal-hebrew.el" -;;;;;; (17385 41891)) +;;;;;; (17397 61545)) ;;; Generated autoloads from calendar/cal-hebrew.el (autoload (quote list-yahrzeit-dates) "cal-hebrew" "\ @@ -2695,7 +2760,7 @@ from the cursor position. ;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle ;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc ;;;;;; full-calc calc calc-dispatch calc-settings-file) "calc" "calc/calc.el" -;;;;;; (17382 10215)) +;;;;;; (17383 32134)) ;;; Generated autoloads from calc/calc.el (defvar calc-settings-file (convert-standard-filename "~/.calc.el") "\ @@ -2774,7 +2839,7 @@ Not documented ;;;*** ;;;### (autoloads (calculator) "calculator" "calculator.el" (17383 -;;;;;; 24124)) +;;;;;; 32092)) ;;; Generated autoloads from calculator.el (autoload (quote calculator) "calculator" "\ @@ -2802,7 +2867,7 @@ See the documentation for `calculator-mode' for more information. ;;;;;; mark-holidays-in-calendar view-calendar-holidays-initially ;;;;;; calendar-remove-frame-by-deleting mark-diary-entries-in-calendar ;;;;;; view-diary-entries-initially calendar-offset) "calendar" -;;;;;; "calendar/calendar.el" (17425 13433)) +;;;;;; "calendar/calendar.el" (17578 34774)) ;;; Generated autoloads from calendar/calendar.el (defvar calendar-offset 0 "\ @@ -3373,7 +3438,7 @@ movement commands will not work correctly.") ;;;*** ;;;### (autoloads (canlock-verify canlock-insert-header) "canlock" -;;;;;; "gnus/canlock.el" (17382 1052)) +;;;;;; "gnus/canlock.el" (17383 32153)) ;;; Generated autoloads from gnus/canlock.el (autoload (quote canlock-insert-header) "canlock" "\ @@ -3388,10 +3453,17 @@ it fails. \(fn &optional BUFFER)" t nil) +;;;*** + +;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (17515 +;;;;;; 39528)) +;;; Generated autoloads from progmodes/cc-compat.el +(put 'c-indent-level 'safe-local-variable 'integerp) + ;;;*** ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el" -;;;;;; (17407 10030)) +;;;;;; (17420 36089)) ;;; Generated autoloads from progmodes/cc-engine.el (autoload (quote c-guess-basic-syntax) "cc-engine" "\ @@ -3403,7 +3475,7 @@ Return the syntactic context of the current line. ;;;### (autoloads (pike-mode idl-mode java-mode objc-mode c++-mode ;;;;;; c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el" -;;;;;; (17407 10030)) +;;;;;; (17590 36100)) ;;; Generated autoloads from progmodes/cc-mode.el (autoload (quote c-initialize-cc-mode) "cc-mode" "\ @@ -3561,7 +3633,7 @@ Key bindings: ;;;*** ;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles" -;;;;;; "progmodes/cc-styles.el" (17407 10030)) +;;;;;; "progmodes/cc-styles.el" (17521 64538)) ;;; Generated autoloads from progmodes/cc-styles.el (autoload (quote c-set-style) "cc-styles" "\ @@ -3612,16 +3684,24 @@ and exists only for compatibility reasons. ;;;*** -;;;### (autoloads nil "cc-subword" "progmodes/cc-subword.el" (17388 -;;;;;; 22063)) +;;;### (autoloads nil "cc-subword" "progmodes/cc-subword.el" (17515 +;;;;;; 39528)) ;;; Generated autoloads from progmodes/cc-subword.el (autoload 'c-subword-mode "cc-subword" "Mode enabling subword movement and editing keys." t) +;;;*** + +;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (17521 64538)) +;;; Generated autoloads from progmodes/cc-vars.el +(put 'c-basic-offset 'safe-local-variable 'integerp) +(put 'c-backslash-column 'safe-local-variable 'integerp) +(put 'c-file-style 'safe-local-variable 'string-or-null-p) + ;;;*** ;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program ;;;;;; declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el" -;;;;;; (17102 18708)) +;;;;;; (17097 33519)) ;;; Generated autoloads from international/ccl.el (autoload (quote ccl-compile) "ccl" "\ @@ -3880,7 +3960,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program. ;;;*** ;;;### (autoloads (cfengine-mode) "cfengine" "progmodes/cfengine.el" -;;;;;; (17388 22063)) +;;;;;; (17397 61564)) ;;; Generated autoloads from progmodes/cfengine.el (autoload (quote cfengine-mode) "cfengine" "\ @@ -3902,7 +3982,7 @@ to the action header. ;;;;;; checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer ;;;;;; checkdoc-eval-current-buffer checkdoc-message-interactive ;;;;;; checkdoc-interactive checkdoc) "checkdoc" "emacs-lisp/checkdoc.el" -;;;;;; (17383 16118)) +;;;;;; (17383 32136)) ;;; Generated autoloads from emacs-lisp/checkdoc.el (autoload (quote checkdoc) "checkdoc" "\ @@ -4085,8 +4165,8 @@ checking of documentation strings. ;;;*** ;;;### (autoloads (encode-hz-buffer encode-hz-region decode-hz-buffer -;;;;;; decode-hz-region) "china-util" "language/china-util.el" (17246 -;;;;;; 40257)) +;;;;;; decode-hz-region) "china-util" "language/china-util.el" (17097 +;;;;;; 33524)) ;;; Generated autoloads from language/china-util.el (autoload (quote decode-hz-region) "china-util" "\ @@ -4114,7 +4194,7 @@ Encode the text in the current buffer to HZ. ;;;*** ;;;### (autoloads (command-history list-command-history repeat-matching-complex-command) -;;;;;; "chistory" "chistory.el" (17383 24124)) +;;;;;; "chistory" "chistory.el" (17383 32092)) ;;; Generated autoloads from chistory.el (autoload (quote repeat-matching-complex-command) "chistory" "\ @@ -4153,7 +4233,7 @@ and runs the normal hook `command-history-hook'. ;;;*** -;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (17383 16118)) +;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (17383 32137)) ;;; Generated autoloads from emacs-lisp/cl.el (defvar custom-print-functions nil "\ @@ -4169,7 +4249,7 @@ a future Emacs interpreter will be able to use it.") ;;;*** ;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el" -;;;;;; (17383 16118)) +;;;;;; (17383 32136)) ;;; Generated autoloads from emacs-lisp/cl-indent.el (autoload (quote common-lisp-indent-function) "cl-indent" "\ @@ -4180,7 +4260,7 @@ Not documented ;;;*** ;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el" -;;;;;; (17388 22063)) +;;;;;; (17397 61564)) ;;; Generated autoloads from progmodes/cmacexp.el (autoload (quote c-macro-expand) "cmacexp" "\ @@ -4201,7 +4281,7 @@ For use inside Lisp programs, see also `c-macro-expansion'. ;;;*** ;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (17383 -;;;;;; 24124)) +;;;;;; 32092)) ;;; Generated autoloads from cmuscheme.el (autoload (quote run-scheme) "cmuscheme" "\ @@ -4222,7 +4302,7 @@ is run). ;;;*** ;;;### (autoloads (cp-make-coding-system) "code-pages" "international/code-pages.el" -;;;;;; (17363 41693)) +;;;;;; (17521 64538)) ;;; Generated autoloads from international/code-pages.el (autoload (quote cp-make-coding-system) "code-pages" "\ @@ -4282,7 +4362,7 @@ Return an updated `non-iso-charset-alist'. ;;;### (autoloads (codepage-setup cp-supported-codepages cp-offset-for-codepage ;;;;;; cp-language-for-codepage cp-charset-for-codepage cp-make-coding-systems-for-codepage) -;;;;;; "codepage" "international/codepage.el" (17239 32321)) +;;;;;; "codepage" "international/codepage.el" (17210 47738)) ;;; Generated autoloads from international/codepage.el (autoload (quote cp-make-coding-systems-for-codepage) "codepage" "\ @@ -4341,7 +4421,7 @@ read/written by MS-DOS software, or for display on the MS-DOS terminal. ;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list ;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command ;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el" -;;;;;; (17447 42828)) +;;;;;; (17578 34770)) ;;; Generated autoloads from comint.el (defvar comint-output-filter-functions (quote (comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt)) "\ @@ -4431,8 +4511,8 @@ REGEXP-GROUP is the regular expression group in REGEXP to use. ;;;*** -;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (17406 -;;;;;; 11270)) +;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (17420 +;;;;;; 36076)) ;;; Generated autoloads from compare-w.el (autoload (quote compare-windows) "compare-w" "\ @@ -4469,7 +4549,7 @@ on third call it again advances points to the next difference and so on. ;;;;;; compilation-shell-minor-mode compilation-mode compilation-start ;;;;;; compile compilation-disable-input compile-command compilation-search-path ;;;;;; compilation-ask-about-save compilation-window-height compilation-mode-hook) -;;;;;; "compile" "progmodes/compile.el" (17388 22062)) +;;;;;; "compile" "progmodes/compile.el" (17590 36100)) ;;; Generated autoloads from progmodes/compile.el (defvar compilation-mode-hook nil "\ @@ -4534,6 +4614,7 @@ You might also use mode hooks to specify it in certain modes, like this: (file-name-sans-extension buffer-file-name))))))") (custom-autoload (quote compile-command) "compile") +(put 'compile-command 'safe-local-variable 'stringp) (defvar compilation-disable-input nil "\ *If non-nil, send end-of-file as compilation process input. @@ -4630,7 +4711,7 @@ This is the value of `next-error-function' in Compilation buffers. ;;;*** ;;;### (autoloads (partial-completion-mode) "complete" "complete.el" -;;;;;; (17420 38637)) +;;;;;; (17578 34770)) ;;; Generated autoloads from complete.el (defvar partial-completion-mode nil "\ @@ -4641,8 +4722,6 @@ use either \\[customize] or the function `partial-completion-mode'.") (custom-autoload (quote partial-completion-mode) "complete") -(put (quote partial-completion-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote partial-completion-mode) "complete" "\ Toggle Partial Completion mode. With prefix ARG, turn Partial Completion mode on if ARG is positive. @@ -4655,7 +4734,7 @@ as much as possible and `*' characters are treated likewise in file names. For example, M-x p-c-m expands to M-x partial-completion-mode since no other command begins with that sequence of characters, and \\[find-file] f_b.c TAB might complete to foo_bar.c if that file existed and no -other file in that directory begin with that sequence of characters. +other file in that directory begins with that sequence of characters. Unless `PC-disable-includes' is non-nil, the `<...>' sequence is interpreted specially in \\[find-file]. For example, @@ -4673,7 +4752,7 @@ second TAB brings up the `*Completions*' buffer. ;;;*** ;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el" -;;;;;; (17383 24124)) +;;;;;; (17383 32093)) ;;; Generated autoloads from completion.el (defvar dynamic-completion-mode nil "\ @@ -4684,8 +4763,6 @@ use either \\[customize] or the function `dynamic-completion-mode'.") (custom-autoload (quote dynamic-completion-mode) "completion") -(put (quote dynamic-completion-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote dynamic-completion-mode) "completion" "\ Enable dynamic word-completion. @@ -4696,7 +4773,7 @@ Enable dynamic word-completion. ;;;### (autoloads (decompose-composite-char compose-last-chars compose-chars-after ;;;;;; find-composition compose-chars decompose-string compose-string ;;;;;; decompose-region compose-region encode-composition-rule) -;;;;;; "composite" "composite.el" (17318 56743)) +;;;;;; "composite" "composite.el" (17318 53825)) ;;; Generated autoloads from composite.el (defconst reference-point-alist (quote ((tl . 0) (tc . 1) (tr . 2) (Bl . 3) (Bc . 4) (Br . 5) (bl . 6) (bc . 7) (br . 8) (cl . 9) (cc . 10) (cr . 11) (top-left . 0) (top-center . 1) (top-right . 2) (base-left . 3) (base-center . 4) (base-right . 5) (bottom-left . 6) (bottom-center . 7) (bottom-right . 8) (center-left . 9) (center-center . 10) (center-right . 11) (ml . 3) (mc . 10) (mr . 5) (mid-left . 3) (mid-center . 10) (mid-right . 5))) "\ @@ -4917,7 +4994,7 @@ Optional 3rd arg WITH-COMPOSITION-RULE is ignored. ;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode ;;;;;; conf-space-mode conf-javaprop-mode conf-windows-mode conf-unix-mode -;;;;;; conf-mode) "conf-mode" "textmodes/conf-mode.el" (17383 15658)) +;;;;;; conf-mode) "conf-mode" "textmodes/conf-mode.el" (17383 32186)) ;;; Generated autoloads from textmodes/conf-mode.el (autoload (quote conf-mode) "conf-mode" "\ @@ -5066,7 +5143,7 @@ For details see `conf-mode'. Example: ;;;*** ;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie) -;;;;;; "cookie1" "play/cookie1.el" (17382 1892)) +;;;;;; "cookie1" "play/cookie1.el" (17578 34778)) ;;; Generated autoloads from play/cookie1.el (autoload (quote cookie) "cookie1" "\ @@ -5098,7 +5175,7 @@ Randomly permute the elements of VECTOR (all permutations equally likely). ;;;*** ;;;### (autoloads (copyright copyright-fix-years copyright-update) -;;;;;; "copyright" "emacs-lisp/copyright.el" (17383 16118)) +;;;;;; "copyright" "emacs-lisp/copyright.el" (17383 32137)) ;;; Generated autoloads from emacs-lisp/copyright.el (autoload (quote copyright-update) "copyright" "\ @@ -5126,7 +5203,7 @@ Insert a copyright by $ORGANIZATION notice at cursor. ;;;*** ;;;### (autoloads (cperl-mode) "cperl-mode" "progmodes/cperl-mode.el" -;;;;;; (17388 22062)) +;;;;;; (17578 34778)) ;;; Generated autoloads from progmodes/cperl-mode.el (autoload (quote cperl-mode) "cperl-mode" "\ @@ -5299,7 +5376,7 @@ or as help on variables `cperl-tips', `cperl-problems', ;;;*** ;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el" -;;;;;; (17388 22062)) +;;;;;; (17397 61565)) ;;; Generated autoloads from progmodes/cpp.el (autoload (quote cpp-highlight-buffer) "cpp" "\ @@ -5318,7 +5395,7 @@ Edit display information for cpp conditionals. ;;;*** ;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el" -;;;;;; (17383 13536)) +;;;;;; (17383 32142)) ;;; Generated autoloads from emulation/crisp.el (defvar crisp-mode nil "\ @@ -5342,7 +5419,7 @@ With ARG, turn CRiSP mode on if ARG is positive, off otherwise. ;;;*** ;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el" -;;;;;; (17383 16118)) +;;;;;; (17515 39527)) ;;; Generated autoloads from emacs-lisp/crm.el (autoload (quote completing-read-multiple) "crm" "\ @@ -5378,7 +5455,7 @@ INHERIT-INPUT-METHOD. ;;;*** ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el" -;;;;;; (17444 38116)) +;;;;;; (17521 64537)) ;;; Generated autoloads from emulation/cua-base.el (defvar cua-mode nil "\ @@ -5389,8 +5466,6 @@ use either \\[customize] or the function `cua-mode'.") (custom-autoload (quote cua-mode) "cua-base") -(put (quote cua-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote cua-mode) "cua-base" "\ Toggle CUA key-binding mode. When enabled, using shifted movement keys will activate the @@ -5427,8 +5502,8 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings. \(fn ARG)" t nil) (eval-after-load 'CUA-mode '(error (concat "\n\n" - "CUA-mode is now part of the standard GNU Emacs distribution,\n" - "so you may now enable and customize CUA via the Options menu.\n\n" + "CUA-mode is now part of the standard GNU Emacs distribution, so you may\n" + "now enable CUA via the Options menu or by customizing option `cua-mode'.\n\n" "You have loaded an older version of CUA-mode which does\n" "not work correctly with this version of GNU Emacs.\n\n" (if user-init-file (concat @@ -5445,7 +5520,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings. ;;;;;; customize-face customize-changed-options customize-option-other-window ;;;;;; customize-option customize-group-other-window customize-group ;;;;;; customize-mode customize customize-save-variable customize-set-variable -;;;;;; customize-set-value) "cus-edit" "cus-edit.el" (17440 11610)) +;;;;;; customize-set-value) "cus-edit" "cus-edit.el" (17590 36098)) ;;; Generated autoloads from cus-edit.el (add-hook 'same-window-regexps "\\`\\*Customiz.*\\*\\'") @@ -5542,6 +5617,31 @@ Show the buffer in another window, but don't select it. \(fn SYMBOL)" t nil) +(defvar customize-package-emacs-version-alist nil "\ +Alist mapping versions of Emacs to versions of a package. +These package versions are listed in the :package-version +keyword used in `defcustom', `defgroup', and `defface'. Its +elements look like this: + + (PACKAGE (PVERSION . EVERSION)...) + +For each PACKAGE, which is a symbol, there are one or more +elements that contain a package version PVERSION with an +associated Emacs version EVERSION. These versions are strings. +For example, the MH-E package updates this alist with the +following: + + (add-to-list 'customize-package-emacs-version-alist + '(MH-E (\"6.0\" . \"22.1\") (\"6.1\" . \"22.1\") + (\"7.0\" . \"22.1\") (\"7.1\" . \"22.1\") + (\"7.2\" . \"22.1\") (\"7.3\" . \"22.1\") + (\"7.4\" . \"22.1\") (\"8.0\" . \"22.1\"))) + +The value of PACKAGE needs to be unique and it needs to match the +PACKAGE value appearing in the :package-version keyword. Since +the user might see the value in a error message, a good choice is +the official name of the package, such as MH-E or Gnus.") + (defalias (quote customize-changed) (quote customize-changed-options)) (autoload (quote customize-changed-options) "cus-edit" "\ @@ -5703,7 +5803,7 @@ The format is suitable for use with `easy-menu-define'. ;;;*** ;;;### (autoloads (custom-reset-faces custom-theme-reset-faces custom-set-faces -;;;;;; custom-declare-face) "cus-face" "cus-face.el" (17383 24124)) +;;;;;; custom-declare-face) "cus-face" "cus-face.el" (17383 32094)) ;;; Generated autoloads from cus-face.el (autoload (quote custom-declare-face) "cus-face" "\ @@ -5773,7 +5873,7 @@ This means reset FACE to its value in FROM-THEME. ;;;*** ;;;### (autoloads (customize-create-theme) "cus-theme" "cus-theme.el" -;;;;;; (17394 38146)) +;;;;;; (17397 61539)) ;;; Generated autoloads from cus-theme.el (autoload (quote customize-create-theme) "cus-theme" "\ @@ -5784,7 +5884,7 @@ Create a custom theme. ;;;*** ;;;### (autoloads (cvs-status-mode) "cvs-status" "cvs-status.el" -;;;;;; (17383 24124)) +;;;;;; (17582 35146)) ;;; Generated autoloads from cvs-status.el (autoload (quote cvs-status-mode) "cvs-status" "\ @@ -5795,7 +5895,7 @@ Mode used for cvs status output. ;;;*** ;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode) -;;;;;; "cwarn" "progmodes/cwarn.el" (17388 22062)) +;;;;;; "cwarn" "progmodes/cwarn.el" (17397 61565)) ;;; Generated autoloads from progmodes/cwarn.el (autoload (quote cwarn-mode) "cwarn" "\ @@ -5825,8 +5925,6 @@ use either \\[customize] or the function `global-cwarn-mode'.") (custom-autoload (quote global-cwarn-mode) "cwarn") -(put (quote global-cwarn-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote global-cwarn-mode) "cwarn" "\ Toggle Cwarn mode in every buffer. With prefix ARG, turn Global-Cwarn mode on if and only if ARG is positive. @@ -5839,7 +5937,7 @@ in which `turn-on-cwarn-mode-if-enabled' turns it on. ;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char ;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el" -;;;;;; (17102 18767)) +;;;;;; (17097 33524)) ;;; Generated autoloads from language/cyril-util.el (autoload (quote cyrillic-encode-koi8-r-char) "cyril-util" "\ @@ -5868,7 +5966,7 @@ If the argument is nil, we return the display table to its standard state. ;;;*** ;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el" -;;;;;; (17383 24124)) +;;;;;; (17383 32095)) ;;; Generated autoloads from dabbrev.el (define-key esc-map "/" 'dabbrev-expand) (define-key esc-map [?\C-/] 'dabbrev-completion) @@ -5912,8 +6010,8 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion]. ;;;*** -;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (17388 -;;;;;; 22062)) +;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (17397 +;;;;;; 61565)) ;;; Generated autoloads from progmodes/dcl-mode.el (autoload (quote dcl-mode) "dcl-mode" "\ @@ -6040,7 +6138,7 @@ There is some minimal font-lock support (see vars ;;;*** ;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug" -;;;;;; "emacs-lisp/debug.el" (17438 13119)) +;;;;;; "emacs-lisp/debug.el" (17438 58633)) ;;; Generated autoloads from emacs-lisp/debug.el (setq debugger (quote debug)) @@ -6084,7 +6182,7 @@ To specify a nil argument interactively, exit with an empty minibuffer. ;;;*** ;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el" -;;;;;; (17382 1892)) +;;;;;; (17383 32181)) ;;; Generated autoloads from play/decipher.el (autoload (quote decipher) "decipher" "\ @@ -6114,7 +6212,7 @@ The most useful commands are: ;;;### (autoloads (delimit-columns-rectangle delimit-columns-region ;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (17383 -;;;;;; 24124)) +;;;;;; 32095)) ;;; Generated autoloads from delim-col.el (autoload (quote delimit-columns-customize) "delim-col" "\ @@ -6138,8 +6236,8 @@ START and END delimits the corners of text rectangle. ;;;*** -;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (17388 -;;;;;; 22062)) +;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (17397 +;;;;;; 61565)) ;;; Generated autoloads from progmodes/delphi.el (autoload (quote delphi-mode) "delphi" "\ @@ -6190,7 +6288,7 @@ no args, if that value is non-nil. ;;;*** ;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (17383 -;;;;;; 24124)) +;;;;;; 32095)) ;;; Generated autoloads from delsel.el (defalias (quote pending-delete-mode) (quote delete-selection-mode)) @@ -6203,8 +6301,6 @@ use either \\[customize] or the function `delete-selection-mode'.") (custom-autoload (quote delete-selection-mode) "delsel") -(put (quote delete-selection-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote delete-selection-mode) "delsel" "\ Toggle Delete Selection mode. With prefix ARG, turn Delete Selection mode on if and only if ARG is @@ -6220,7 +6316,7 @@ any selection. ;;;*** ;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode) -;;;;;; "derived" "emacs-lisp/derived.el" (17383 16118)) +;;;;;; "derived" "emacs-lisp/derived.el" (17383 32137)) ;;; Generated autoloads from emacs-lisp/derived.el (autoload (quote define-derived-mode) "derived" "\ @@ -6285,7 +6381,7 @@ the first time the mode is used. ;;;*** ;;;### (autoloads (describe-char describe-text-properties) "descr-text" -;;;;;; "descr-text.el" (17383 24124)) +;;;;;; "descr-text.el" (17383 32095)) ;;; Generated autoloads from descr-text.el (autoload (quote describe-text-properties) "descr-text" "\ @@ -6309,8 +6405,9 @@ as well as widgets, buttons, overlays, and text properties. ;;;*** ;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir -;;;;;; desktop-load-default desktop-read desktop-locals-to-save -;;;;;; desktop-save-mode) "desktop" "desktop.el" (17388 29562)) +;;;;;; desktop-load-default desktop-read desktop-remove desktop-save +;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop" +;;;;;; "desktop.el" (17578 34771)) ;;; Generated autoloads from desktop.el (defvar desktop-save-mode nil "\ @@ -6319,17 +6416,16 @@ See the command `desktop-save-mode' for a description of this minor-mode.") (custom-autoload (quote desktop-save-mode) "desktop") -(put (quote desktop-save-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote desktop-save-mode) "desktop" "\ Toggle desktop saving mode. With numeric ARG, turn desktop saving on if ARG is positive, off -otherwise. See variable `desktop-save' for a description of when the -desktop is saved. +otherwise. If desktop saving is turned on, the state of Emacs is +saved from one session to another. See variable `desktop-save' +and function `desktop-read' for details. \(fn &optional ARG)" t nil) -(defvar desktop-locals-to-save (quote (desktop-locals-to-save truncate-lines case-fold-search case-replace fill-column overwrite-mode change-log-default-name line-number-mode column-number-mode size-indication-mode buffer-file-coding-system indent-tabs-mode indicate-buffer-boundaries indicate-empty-lines show-trailing-whitespace)) "\ +(defvar desktop-locals-to-save (quote (desktop-locals-to-save truncate-lines case-fold-search case-replace fill-column overwrite-mode change-log-default-name line-number-mode column-number-mode size-indication-mode buffer-file-coding-system indent-tabs-mode tab-width indicate-buffer-boundaries indicate-empty-lines show-trailing-whitespace)) "\ List of local variables to save for each buffer. The variables are saved only when they really are local. Conventional minor modes are restored automatically; they should not be listed here.") @@ -6434,6 +6530,27 @@ See also `desktop-minor-mode-table'.") (put (quote desktop-minor-mode-handlers) (quote risky-local-variable) t) +(autoload (quote desktop-clear) "desktop" "\ +Empty the Desktop. +This kills all buffers except for internal ones and those with names matched by +a regular expression in the list `desktop-clear-preserve-buffers'. +Furthermore, it clears the variables listed in `desktop-globals-to-clear'. + +\(fn)" t nil) + +(autoload (quote desktop-save) "desktop" "\ +Save the desktop in a desktop file. +Parameter DIRNAME specifies where to save the desktop file. +See also `desktop-base-file-name'. + +\(fn DIRNAME)" t nil) + +(autoload (quote desktop-remove) "desktop" "\ +Delete desktop file in `desktop-dirname'. +This function also sets `desktop-dirname' to nil. + +\(fn)" t nil) + (autoload (quote desktop-read) "desktop" "\ Read and process the desktop file in directory DIRNAME. Look for a desktop file in DIRNAME, or if DIRNAME is omitted, look in @@ -6472,28 +6589,10 @@ Revert to the last loaded desktop. ;;;*** ;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article -;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines -;;;;;; gnus-outlook-display-hook gnus-outlook-deuglify-unwrap-max -;;;;;; gnus-outlook-deuglify-unwrap-min) "deuglify" "gnus/deuglify.el" -;;;;;; (17382 1052)) +;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines) +;;;;;; "deuglify" "gnus/deuglify.el" (17494 22065)) ;;; Generated autoloads from gnus/deuglify.el -(defvar gnus-outlook-deuglify-unwrap-min 45 "\ -Minimum length of the cited line above the (possibly) wrapped line.") - -(custom-autoload (quote gnus-outlook-deuglify-unwrap-min) "deuglify") - -(defvar gnus-outlook-deuglify-unwrap-max 95 "\ -Maximum length of the cited line after unwrapping.") - -(custom-autoload (quote gnus-outlook-deuglify-unwrap-max) "deuglify") - -(defvar gnus-outlook-display-hook nil "\ -A hook called after an deuglified article has been prepared. -It is run after `gnus-article-prepare-hook'.") - -(custom-autoload (quote gnus-outlook-display-hook) "deuglify") - (autoload (quote gnus-article-outlook-unwrap-lines) "deuglify" "\ Unwrap lines that appear to be wrapped citation lines. You can control what lines will be unwrapped by frobbing @@ -6524,7 +6623,7 @@ Deuglify broken Outlook (Express) articles and redisplay. ;;;*** ;;;### (autoloads (devanagari-post-read-conversion devanagari-compose-region) -;;;;;; "devan-util" "language/devan-util.el" (17102 18768)) +;;;;;; "devan-util" "language/devan-util.el" (17097 33525)) ;;; Generated autoloads from language/devan-util.el (defconst devanagari-consonant "[\x51ad5-\x51af9\x51b38-\x51b3f]") @@ -6542,7 +6641,7 @@ Not documented ;;;*** ;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib" -;;;;;; "calendar/diary-lib.el" (17385 41891)) +;;;;;; "calendar/diary-lib.el" (17521 64537)) ;;; Generated autoloads from calendar/diary-lib.el (autoload (quote diary) "diary-lib" "\ @@ -6588,7 +6687,7 @@ Major mode for editing the diary file. ;;;*** ;;;### (autoloads (diff-backup diff diff-command diff-switches) "diff" -;;;;;; "diff.el" (17383 24124)) +;;;;;; "diff.el" (17578 34771)) ;;; Generated autoloads from diff.el (defvar diff-switches "-c" "\ @@ -6622,7 +6721,7 @@ With prefix arg, prompt for diff switches. ;;;*** ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "diff-mode.el" -;;;;;; (17439 53835)) +;;;;;; (17578 34771)) ;;; Generated autoloads from diff-mode.el (autoload (quote diff-mode) "diff-mode" "\ @@ -6636,6 +6735,7 @@ headers for you on-the-fly. You can also switch between context diff and unified diff with \\[diff-context->unified], or vice versa with \\[diff-unified->context] and you can also reverse the direction of a diff with \\[diff-reverse-direction]. +\\{diff-mode-map} \(fn)" t nil) @@ -6651,7 +6751,7 @@ Minor mode for viewing/editing context diffs. ;;;;;; dired dired-copy-preserve-time dired-dwim-target dired-keep-marker-symlink ;;;;;; dired-keep-marker-hardlink dired-keep-marker-copy dired-keep-marker-rename ;;;;;; dired-trivial-filenames dired-ls-F-marks-symlinks dired-listing-switches) -;;;;;; "dired" "dired.el" (17391 29732)) +;;;;;; "dired" "dired.el" (17578 34771)) ;;; Generated autoloads from dired.el (defvar dired-listing-switches "-al" "\ @@ -6856,7 +6956,7 @@ Keybindings: ;;;;;; dired-run-shell-command dired-do-shell-command dired-clean-directory ;;;;;; dired-do-print dired-do-touch dired-do-chown dired-do-chgrp ;;;;;; dired-do-chmod dired-compare-directories dired-backup-diff -;;;;;; dired-diff) "dired-aux" "dired-aux.el" (17383 24124)) +;;;;;; dired-diff) "dired-aux" "dired-aux.el" (17521 64535)) ;;; Generated autoloads from dired-aux.el (autoload (quote dired-diff) "dired-aux" "\ @@ -6978,7 +7078,8 @@ the Dired buffer, so output files usually are created there instead of in a subdir. In a noninteractive call (from Lisp code), you must specify -the list of file names explicitly with the FILE-LIST argument. +the list of file names explicitly with the FILE-LIST argument, which +can be produced by `dired-get-marked-files', for example. \(fn COMMAND &optional ARG FILE-LIST)" t nil) @@ -7264,7 +7365,7 @@ true then the type of the file linked to by FILE is printed instead. ;;;*** -;;;### (autoloads (dired-jump) "dired-x" "dired-x.el" (17387 38414)) +;;;### (autoloads (dired-jump) "dired-x" "dired-x.el" (17521 64536)) ;;; Generated autoloads from dired-x.el (autoload (quote dired-jump) "dired-x" "\ @@ -7278,7 +7379,7 @@ buffer and try again. ;;;*** -;;;### (autoloads (dirtrack) "dirtrack" "dirtrack.el" (17383 24124)) +;;;### (autoloads (dirtrack) "dirtrack" "dirtrack.el" (17582 31039)) ;;; Generated autoloads from dirtrack.el (autoload (quote dirtrack) "dirtrack" "\ @@ -7298,7 +7399,7 @@ You can enable directory tracking by adding this function to ;;;*** ;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (17383 -;;;;;; 16118)) +;;;;;; 32137)) ;;; Generated autoloads from emacs-lisp/disass.el (autoload (quote disassemble) "disass" "\ @@ -7316,7 +7417,7 @@ redefine OBJECT if it is a symbol. ;;;;;; standard-display-graphic standard-display-g1 standard-display-ascii ;;;;;; standard-display-default standard-display-8bit describe-current-display-table ;;;;;; describe-display-table set-display-table-slot display-table-slot -;;;;;; make-display-table) "disp-table" "disp-table.el" (17383 24124)) +;;;;;; make-display-table) "disp-table" "disp-table.el" (17383 32097)) ;;; Generated autoloads from disp-table.el (autoload (quote make-display-table) "disp-table" "\ @@ -7417,7 +7518,7 @@ for users who call this function in `.emacs'. ;;;*** ;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el" -;;;;;; (17382 1892)) +;;;;;; (17383 32181)) ;;; Generated autoloads from play/dissociate.el (autoload (quote dissociated-press) "dissociate" "\ @@ -7433,7 +7534,7 @@ Default is 2. ;;;*** -;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (17383 24124)) +;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (17521 64536)) ;;; Generated autoloads from dnd.el (defvar dnd-protocol-alist (quote (("^file:///" . dnd-open-local-file) ("^file://" . dnd-open-file) ("^file:" . dnd-open-local-file))) "\ @@ -7454,7 +7555,7 @@ if some action was made, or nil if the URL is ignored.") ;;;*** ;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode" -;;;;;; "textmodes/dns-mode.el" (17383 15658)) +;;;;;; "textmodes/dns-mode.el" (17383 32186)) ;;; Generated autoloads from textmodes/dns-mode.el (autoload (quote dns-mode) "dns-mode" "\ @@ -7477,7 +7578,7 @@ Locate SOA record and increment the serial field. ;;;*** -;;;### (autoloads (doctor) "doctor" "play/doctor.el" (17364 14033)) +;;;### (autoloads (doctor) "doctor" "play/doctor.el" (17365 2741)) ;;; Generated autoloads from play/doctor.el (autoload (quote doctor) "doctor" "\ @@ -7488,7 +7589,7 @@ Switch to *doctor* buffer and start giving psychotherapy. ;;;*** ;;;### (autoloads (double-mode double-mode) "double" "double.el" -;;;;;; (17383 24125)) +;;;;;; (17383 32097)) ;;; Generated autoloads from double.el (defvar double-mode nil "\ @@ -7509,7 +7610,7 @@ when pressed twice. See variable `double-map' for details. ;;;*** -;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (17382 1892)) +;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (17582 28846)) ;;; Generated autoloads from play/dunnet.el (autoload (quote dunnet) "dunnet" "\ @@ -7520,7 +7621,7 @@ Switch to *dungeon* buffer and start game. ;;;*** ;;;### (autoloads (gnus-earcon-display) "earcon" "gnus/earcon.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32154)) ;;; Generated autoloads from gnus/earcon.el (autoload (quote gnus-earcon-display) "earcon" "\ @@ -7532,7 +7633,7 @@ Play sounds in message buffers. ;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap ;;;;;; define-global-minor-mode define-minor-mode) "easy-mmode" -;;;;;; "emacs-lisp/easy-mmode.el" (17383 16118)) +;;;;;; "emacs-lisp/easy-mmode.el" (17585 4275)) ;;; Generated autoloads from emacs-lisp/easy-mmode.el (defalias (quote easy-mmode-define-minor-mode) (quote define-minor-mode)) @@ -7552,9 +7653,9 @@ Optional KEYMAP is the default (defvar) keymap bound to the mode keymap. The above three arguments can be skipped if keyword arguments are used (see below). -BODY contains code that will be executed each time the mode is (dis)activated. - It will be executed after any toggling but before running the hook variable - `mode-HOOK'. +BODY contains code to execute each time the mode is activated or deactivated. + It is executed after toggling the mode, + and before running the hook variable `mode-HOOK'. Before the actual body code, you can write keyword arguments (alternating keywords and values). These following keyword arguments are supported (other keywords will be passed to `defcustom' if the minor mode is global): @@ -7625,7 +7726,7 @@ CSS contains a list of syntax specifications of the form (CHAR . SYNTAX). ;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define ;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (17383 -;;;;;; 16118)) +;;;;;; 32138)) ;;; Generated autoloads from emacs-lisp/easymenu.el (put (quote easy-menu-define) (quote lisp-indent-function) (quote defun)) @@ -7770,7 +7871,7 @@ To implement dynamic menus, either call this from ;;;;;; ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer ebnf-spool-file ;;;;;; ebnf-spool-directory ebnf-print-region ebnf-print-buffer ;;;;;; ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps" -;;;;;; "progmodes/ebnf2ps.el" (17388 22062)) +;;;;;; "progmodes/ebnf2ps.el" (17397 61566)) ;;; Generated autoloads from progmodes/ebnf2ps.el (autoload (quote ebnf-customize) "ebnf2ps" "\ @@ -8029,8 +8130,8 @@ See `ebnf-style-database' documentation. ;;;;;; ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition ;;;;;; ebrowse-tags-view-definition ebrowse-tags-find-declaration ;;;;;; ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree -;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (17391 -;;;;;; 39495)) +;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (17590 +;;;;;; 36100)) ;;; Generated autoloads from progmodes/ebrowse.el (autoload (quote ebrowse-tree-mode) "ebrowse" "\ @@ -8181,7 +8282,7 @@ Display statistics for a class tree. ;;;*** ;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el" -;;;;;; (17383 24125)) +;;;;;; (17383 32098)) ;;; Generated autoloads from ebuff-menu.el (autoload (quote electric-buffer-list) "ebuff-menu" "\ @@ -8206,7 +8307,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry. ;;;*** ;;;### (autoloads (Electric-command-history-redo-expression) "echistory" -;;;;;; "echistory.el" (17383 24125)) +;;;;;; "echistory.el" (17383 32098)) ;;; Generated autoloads from echistory.el (autoload (quote Electric-command-history-redo-expression) "echistory" "\ @@ -8219,7 +8320,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing. ;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form ;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug" -;;;;;; "emacs-lisp/edebug.el" (17581 24219)) +;;;;;; "emacs-lisp/edebug.el" (17590 36099)) ;;; Generated autoloads from emacs-lisp/edebug.el (defvar edebug-all-defs nil "\ @@ -8292,7 +8393,7 @@ Toggle edebugging of all forms. ;;;;;; ediff-merge-directory-revisions ediff-merge-directories-with-ancestor ;;;;;; ediff-merge-directories ediff-directories3 ediff-directory-revisions ;;;;;; ediff-directories ediff-buffers3 ediff-buffers ediff-backup -;;;;;; ediff-files3 ediff-files) "ediff" "ediff.el" (17399 58140)) +;;;;;; ediff-files3 ediff-files) "ediff" "ediff.el" (17578 34771)) ;;; Generated autoloads from ediff.el (autoload (quote ediff-files) "ediff" "\ @@ -8530,7 +8631,7 @@ With optional NODE, goes to that node. ;;;*** ;;;### (autoloads (ediff-customize) "ediff-help" "ediff-help.el" -;;;;;; (17399 58140)) +;;;;;; (17401 56225)) ;;; Generated autoloads from ediff-help.el (autoload (quote ediff-customize) "ediff-help" "\ @@ -8540,7 +8641,7 @@ Not documented ;;;*** -;;;### (autoloads nil "ediff-hook" "ediff-hook.el" (17399 58140)) +;;;### (autoloads nil "ediff-hook" "ediff-hook.el" (17401 56225)) ;;; Generated autoloads from ediff-hook.el (defvar ediff-window-setup-function) @@ -8553,7 +8654,7 @@ Not documented ;;;*** ;;;### (autoloads (ediff-show-registry) "ediff-mult" "ediff-mult.el" -;;;;;; (17399 58140)) +;;;;;; (17578 34771)) ;;; Generated autoloads from ediff-mult.el (autoload (quote ediff-show-registry) "ediff-mult" "\ @@ -8566,7 +8667,7 @@ Display Ediff's registry. ;;;*** ;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe) -;;;;;; "ediff-util" "ediff-util.el" (17399 58140)) +;;;;;; "ediff-util" "ediff-util.el" (17401 56227)) ;;; Generated autoloads from ediff-util.el (autoload (quote ediff-toggle-multiframe) "ediff-util" "\ @@ -8587,7 +8688,7 @@ To change the default, set the variable `ediff-use-toolbar-p', which see. ;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro ;;;;;; edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el" -;;;;;; (17383 24125)) +;;;;;; (17383 32100)) ;;; Generated autoloads from edmacro.el (defvar edmacro-eight-bits nil "\ @@ -8640,7 +8741,7 @@ or nil, use a compact 80-column format. ;;;*** ;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt" -;;;;;; "emulation/edt.el" (17383 13537)) +;;;;;; "emulation/edt.el" (17383 32143)) ;;; Generated autoloads from emulation/edt.el (autoload (quote edt-set-scroll-margins) "edt" "\ @@ -8658,7 +8759,7 @@ Turn on EDT Emulation. ;;;*** ;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el" -;;;;;; (17383 24125)) +;;;;;; (17383 32100)) ;;; Generated autoloads from ehelp.el (autoload (quote with-electric-help) "ehelp" "\ @@ -8696,7 +8797,7 @@ Not documented ;;;*** ;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string) -;;;;;; "eldoc" "emacs-lisp/eldoc.el" (17383 16118)) +;;;;;; "eldoc" "emacs-lisp/eldoc.el" (17383 32138)) ;;; Generated autoloads from emacs-lisp/eldoc.el (defvar eldoc-minor-mode-string " ElDoc" "\ @@ -8735,7 +8836,7 @@ Emacs Lisp mode) that support Eldoc.") ;;;*** ;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (17383 -;;;;;; 24125)) +;;;;;; 32100)) ;;; Generated autoloads from elide-head.el (autoload (quote elide-head) "elide-head" "\ @@ -8751,7 +8852,7 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks. ;;;*** ;;;### (autoloads (elint-initialize) "elint" "emacs-lisp/elint.el" -;;;;;; (17383 16118)) +;;;;;; (17383 32138)) ;;; Generated autoloads from emacs-lisp/elint.el (autoload (quote elint-initialize) "elint" "\ @@ -8763,7 +8864,7 @@ Initialize elint. ;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list ;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (17383 -;;;;;; 16118)) +;;;;;; 32138)) ;;; Generated autoloads from emacs-lisp/elp.el (autoload (quote elp-instrument-function) "elp" "\ @@ -8797,7 +8898,7 @@ displayed. ;;;*** ;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el" -;;;;;; (17383 16812)) +;;;;;; (17383 32168)) ;;; Generated autoloads from mail/emacsbug.el (autoload (quote report-emacs-bug) "emacsbug" "\ @@ -8812,7 +8913,7 @@ Prompts for bug subject. Leaves you in a mail buffer. ;;;;;; emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote ;;;;;; emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor ;;;;;; emerge-buffers emerge-files-with-ancestor emerge-files) "emerge" -;;;;;; "emerge.el" (17167 2962)) +;;;;;; "emerge.el" (17167 12307)) ;;; Generated autoloads from emerge.el (defvar menu-bar-emerge-menu (make-sparse-keymap "Emerge")) @@ -8890,7 +8991,7 @@ Not documented ;;;*** ;;;### (autoloads (encoded-kbd-mode) "encoded-kb" "international/encoded-kb.el" -;;;;;; (17102 18713)) +;;;;;; (17097 33520)) ;;; Generated autoloads from international/encoded-kb.el (defvar encoded-kbd-mode nil "\ @@ -8901,8 +9002,6 @@ use either \\[customize] or the function `encoded-kbd-mode'.") (custom-autoload (quote encoded-kbd-mode) "encoded-kb") -(put (quote encoded-kbd-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote encoded-kbd-mode) "encoded-kb" "\ Toggle Encoded-kbd minor mode. With arg, turn Encoded-kbd mode on if and only if arg is positive. @@ -8920,7 +9019,7 @@ as a multilingual text encoded in a coding system set by ;;;*** ;;;### (autoloads (enriched-decode enriched-encode enriched-mode) -;;;;;; "enriched" "textmodes/enriched.el" (17383 15658)) +;;;;;; "enriched" "textmodes/enriched.el" (17383 32186)) ;;; Generated autoloads from textmodes/enriched.el (autoload (quote enriched-mode) "enriched" "\ @@ -8951,7 +9050,7 @@ Not documented ;;;*** ;;;### (autoloads (erc-select erc-select-read-args) "erc" "erc/erc.el" -;;;;;; (17447 52274)) +;;;;;; (17484 52428)) ;;; Generated autoloads from erc/erc.el (autoload (quote erc-select-read-args) "erc" "\ @@ -8978,14 +9077,14 @@ be invoked for those parameters' values ;;;*** -;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (17391 -;;;;;; 39324)) +;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (17397 +;;;;;; 61550)) ;;; Generated autoloads from erc/erc-autoaway.el (autoload 'erc-autoaway-mode "erc-autoaway") ;;;*** -;;;### (autoloads nil "erc-button" "erc/erc-button.el" (17447 52274)) +;;;### (autoloads nil "erc-button" "erc/erc-button.el" (17457 37501)) ;;; Generated autoloads from erc/erc-button.el (autoload 'erc-button-mode "erc-button" nil t) @@ -8998,7 +9097,7 @@ be invoked for those parameters' values ;;;*** ;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC) -;;;;;; "erc-dcc" "erc/erc-dcc.el" (17393 3826)) +;;;;;; "erc-dcc" "erc/erc-dcc.el" (17397 61550)) ;;; Generated autoloads from erc/erc-dcc.el (autoload (quote erc-cmd-DCC) "erc-dcc" "\ @@ -9030,7 +9129,7 @@ that subcommand. ;;;;;; erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list ;;;;;; erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action ;;;;;; erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el" -;;;;;; (17391 39324)) +;;;;;; (17484 52428)) ;;; Generated autoloads from erc/erc-ezbounce.el (autoload (quote erc-cmd-ezb) "erc-ezbounce" "\ @@ -9092,8 +9191,8 @@ Add EZBouncer convenience functions to ERC. ;;;*** -;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (17391 -;;;;;; 39324)) +;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (17397 +;;;;;; 61550)) ;;; Generated autoloads from erc/erc-fill.el (autoload 'erc-fill-mode "erc-fill" nil t) @@ -9113,7 +9212,7 @@ You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'. ;;;*** ;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd" -;;;;;; "erc/erc-identd.el" (17447 52274)) +;;;;;; "erc/erc-identd.el" (17457 37501)) ;;; Generated autoloads from erc/erc-identd.el (autoload (quote erc-identd-start) "erc-identd" "\ @@ -9134,7 +9233,7 @@ Not documented ;;;*** ;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el" -;;;;;; (17391 39324)) +;;;;;; (17397 61551)) ;;; Generated autoloads from erc/erc-imenu.el (autoload (quote erc-create-imenu-index) "erc-imenu" "\ @@ -9144,14 +9243,14 @@ Not documented ;;;*** -;;;### (autoloads nil "erc-join" "erc/erc-join.el" (17391 39324)) +;;;### (autoloads nil "erc-join" "erc/erc-join.el" (17484 52428)) ;;; Generated autoloads from erc/erc-join.el (autoload 'erc-autojoin-mode "erc-join" nil t) ;;;*** ;;;### (autoloads (erc-chanlist erc-list-channels) "erc-list" "erc/erc-list.el" -;;;;;; (17391 39324)) +;;;;;; (17397 61551)) ;;; Generated autoloads from erc/erc-list.el (autoload 'erc-list-mode "erc-list") @@ -9172,7 +9271,7 @@ to RFC and send the LIST header (#321) at start of list transmission. ;;;*** ;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log" -;;;;;; "erc/erc-log.el" (17391 39324)) +;;;;;; "erc/erc-log.el" (17397 61551)) ;;; Generated autoloads from erc/erc-log.el (autoload 'erc-log-mode "erc-log" nil t) @@ -9204,7 +9303,7 @@ You can save every individual message by putting this function on ;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host ;;;;;; erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool ;;;;;; erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el" -;;;;;; (17391 39324)) +;;;;;; (17397 61551)) ;;; Generated autoloads from erc/erc-match.el (autoload 'erc-match-mode "erc-match") @@ -9251,7 +9350,7 @@ Delete dangerous-host interactively to `erc-dangerous-hosts'. ;;;*** ;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el" -;;;;;; (17391 39324)) +;;;;;; (17484 52428)) ;;; Generated autoloads from erc/erc-netsplit.el (autoload 'erc-netsplit-mode "erc-netsplit") @@ -9281,7 +9380,7 @@ Interactively select a server to connect to using `erc-server-alist'. ;;;*** ;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify" -;;;;;; "erc/erc-notify.el" (17391 39324)) +;;;;;; "erc/erc-notify.el" (17397 61552)) ;;; Generated autoloads from erc/erc-notify.el (autoload 'erc-notify-mode "erc-notify" nil t) @@ -9299,26 +9398,26 @@ Not documented ;;;*** -;;;### (autoloads nil "erc-page" "erc/erc-page.el" (17391 39324)) +;;;### (autoloads nil "erc-page" "erc/erc-page.el" (17397 61552)) ;;; Generated autoloads from erc/erc-page.el (autoload 'erc-page-mode "erc-page") ;;;*** -;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (17391 -;;;;;; 39324)) +;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (17397 +;;;;;; 61552)) ;;; Generated autoloads from erc/erc-pcomplete.el (autoload 'erc-completion-mode "erc-pcomplete" nil t) ;;;*** -;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (17391 39324)) +;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (17397 61552)) ;;; Generated autoloads from erc/erc-replace.el (autoload 'erc-replace-mode "erc-replace") ;;;*** -;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (17391 39324)) +;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (17397 61552)) ;;; Generated autoloads from erc/erc-ring.el (autoload 'erc-ring-mode "erc-ring" nil t) @@ -9342,14 +9441,14 @@ When called interactively, read the password using `read-passwd'. ;;;*** -;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (17391 39324)) +;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (17397 61552)) ;;; Generated autoloads from erc/erc-sound.el (autoload 'erc-sound-mode "erc-sound") ;;;*** ;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el" -;;;;;; (17391 39324)) +;;;;;; (17397 61552)) ;;; Generated autoloads from erc/erc-speedbar.el (autoload (quote erc-speedbar-browser) "erc-speedbar" "\ @@ -9360,20 +9459,20 @@ This will add a speedbar major display mode. ;;;*** -;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (17391 -;;;;;; 39324)) +;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (17397 +;;;;;; 61552)) ;;; Generated autoloads from erc/erc-spelling.el (autoload 'erc-spelling-mode "erc-spelling" nil t) ;;;*** -;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (17395 55370)) +;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (17397 61552)) ;;; Generated autoloads from erc/erc-stamp.el (autoload 'erc-timestamp-mode "erc-stamp" nil t) ;;;*** -;;;### (autoloads nil "erc-track" "erc/erc-track.el" (17391 39324)) +;;;### (autoloads nil "erc-track" "erc/erc-track.el" (17397 61552)) ;;; Generated autoloads from erc/erc-track.el (autoload 'erc-track-mode "erc-track" nil t) (autoload 'erc-track-when-inactive-mode "erc-track" nil t) @@ -9381,7 +9480,7 @@ This will add a speedbar major display mode. ;;;*** ;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size) -;;;;;; "erc-truncate" "erc/erc-truncate.el" (17391 39324)) +;;;;;; "erc-truncate" "erc/erc-truncate.el" (17397 61552)) ;;; Generated autoloads from erc/erc-truncate.el (autoload 'erc-truncate-mode "erc-truncate" nil t) @@ -9401,7 +9500,7 @@ Meant to be used in hooks, like `erc-insert-post-hook'. ;;;*** ;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el" -;;;;;; (17391 39324)) +;;;;;; (17397 61553)) ;;; Generated autoloads from erc/erc-xdcc.el (autoload (quote erc-xdcc-add-file) "erc-xdcc" "\ @@ -9412,7 +9511,7 @@ Add a file to `erc-xdcc-files'. ;;;*** ;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (17383 -;;;;;; 14789)) +;;;;;; 32152)) ;;; Generated autoloads from eshell/esh-mode.el (autoload (quote eshell-mode) "esh-mode" "\ @@ -9425,7 +9524,7 @@ Emacs shell interactive mode. ;;;*** ;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (17383 -;;;;;; 14789)) +;;;;;; 32152)) ;;; Generated autoloads from eshell/esh-test.el (autoload (quote eshell-test) "esh-test" "\ @@ -9436,7 +9535,7 @@ Test Eshell to verify that it works as expected. ;;;*** ;;;### (autoloads (eshell-report-bug eshell-command-result eshell-command -;;;;;; eshell) "eshell" "eshell/eshell.el" (17426 59663)) +;;;;;; eshell) "eshell" "eshell/eshell.el" (17432 37360)) ;;; Generated autoloads from eshell/eshell.el (autoload (quote eshell) "eshell" "\ @@ -9482,7 +9581,7 @@ Please include any configuration details that might be involved. ;;;;;; visit-tags-table tags-table-mode find-tag-default-function ;;;;;; find-tag-hook tags-add-tables tags-compression-info-list ;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el" -;;;;;; (17407 46937)) +;;;;;; (17420 36090)) ;;; Generated autoloads from progmodes/etags.el (defvar tags-file-name nil "\ @@ -9784,7 +9883,7 @@ for \\[find-tag] (which see). ;;;;;; ethio-fidel-to-sera-buffer ethio-fidel-to-sera-region ethio-sera-to-fidel-marker ;;;;;; ethio-sera-to-fidel-mail ethio-sera-to-fidel-mail-or-marker ;;;;;; ethio-sera-to-fidel-buffer ethio-sera-to-fidel-region setup-ethiopic-environment-internal) -;;;;;; "ethio-util" "language/ethio-util.el" (17316 61871)) +;;;;;; "ethio-util" "language/ethio-util.el" (17578 34777)) ;;; Generated autoloads from language/ethio-util.el (autoload (quote setup-ethiopic-environment-internal) "ethio-util" "\ @@ -9952,7 +10051,7 @@ Convert fidel-tex commands in the current buffer into fidel chars. (autoload (quote ethio-fidel-to-java-buffer) "ethio-util" "\ Convert Ethiopic characters into the Java escape sequences. -Each escape sequence is of the form uXXXX, where XXXX is the +Each escape sequence is of the form \\uXXXX, where XXXX is the character's codepoint (in hex) in Unicode. If `ethio-java-save-lowercase' is non-nil, use [0-9a-f]. @@ -9979,7 +10078,7 @@ Transcribe Ethiopic characters in ASCII depending on the file extension. ;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline ;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el" -;;;;;; (17383 13296)) +;;;;;; (17383 32175)) ;;; Generated autoloads from net/eudc.el (autoload (quote eudc-set-server) "eudc" "\ @@ -10035,7 +10134,7 @@ This does nothing except loading eudc by autoload side-effect. ;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline ;;;;;; eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary) -;;;;;; "eudc-bob" "net/eudc-bob.el" (17383 13296)) +;;;;;; "eudc-bob" "net/eudc-bob.el" (17383 32175)) ;;; Generated autoloads from net/eudc-bob.el (autoload (quote eudc-display-generic-binary) "eudc-bob" "\ @@ -10071,7 +10170,7 @@ Display a button for the JPEG DATA. ;;;*** ;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb) -;;;;;; "eudc-export" "net/eudc-export.el" (17383 13296)) +;;;;;; "eudc-export" "net/eudc-export.el" (17383 32175)) ;;; Generated autoloads from net/eudc-export.el (autoload (quote eudc-insert-record-at-point-into-bbdb) "eudc-export" "\ @@ -10088,7 +10187,7 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a record. ;;;*** ;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el" -;;;;;; (17383 13296)) +;;;;;; (17383 32175)) ;;; Generated autoloads from net/eudc-hotlist.el (autoload (quote eudc-edit-hotlist) "eudc-hotlist" "\ @@ -10096,12 +10195,39 @@ Edit the hotlist of directory servers in a specialized buffer. \(fn)" t nil) +;;;*** + +;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (17578 +;;;;;; 34775)) +;;; Generated autoloads from emacs-lisp/ewoc.el + +(autoload (quote ewoc-create) "ewoc" "\ +Create an empty ewoc. + +The ewoc will be inserted in the current buffer at the current position. + +PRETTY-PRINTER should be a function that takes one argument, an +element, and inserts a string representing it in the buffer (at +point). The string PRETTY-PRINTER inserts may be empty or span +several lines. The PRETTY-PRINTER should use `insert', and not +`insert-before-markers'. + +Optional second and third arguments HEADER and FOOTER are strings, +possibly empty, that will always be present at the top and bottom, +respectively, of the ewoc. + +Normally, a newline is automatically inserted after the header, +the footer and every node's printed representation. Optional +fourth arg NOSEP non-nil inhibits this. + +\(fn PRETTY-PRINTER &optional HEADER FOOTER NOSEP)" nil nil) + ;;;*** ;;;### (autoloads (executable-make-buffer-file-executable-if-script-p ;;;;;; executable-self-display executable-set-magic executable-interpret ;;;;;; executable-command-find-posix-p) "executable" "progmodes/executable.el" -;;;;;; (17388 22062)) +;;;;;; (17397 61567)) ;;; Generated autoloads from progmodes/executable.el (autoload (quote executable-command-find-posix-p) "executable" "\ @@ -10143,7 +10269,7 @@ file modes. ;;;*** ;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot -;;;;;; expand-add-abbrevs) "expand" "expand.el" (17383 24125)) +;;;;;; expand-add-abbrevs) "expand" "expand.el" (17383 32101)) ;;; Generated autoloads from expand.el (autoload (quote expand-add-abbrevs) "expand" "\ @@ -10186,7 +10312,7 @@ This is used only in conjunction with `expand-add-abbrevs'. ;;;*** -;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (17385 42553)) +;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (17397 61567)) ;;; Generated autoloads from progmodes/f90.el (autoload (quote f90-mode) "f90" "\ @@ -10253,7 +10379,7 @@ with no args, if that value is non-nil. ;;;;;; facemenu-remove-all facemenu-remove-face-props facemenu-set-read-only ;;;;;; facemenu-set-intangible facemenu-set-invisible facemenu-set-face-from-menu ;;;;;; facemenu-set-background facemenu-set-foreground facemenu-set-face) -;;;;;; "facemenu" "facemenu.el" (17383 24125)) +;;;;;; "facemenu" "facemenu.el" (17578 34771)) ;;; Generated autoloads from facemenu.el (define-key global-map "\M-o" 'facemenu-keymap) (autoload 'facemenu-keymap "facemenu" "Keymap for face-changing commands." t 'keymap) @@ -10416,7 +10542,7 @@ argument BUFFER-NAME is nil, it defaults to *Colors*. ;;;*** ;;;### (autoloads (turn-on-fast-lock fast-lock-mode) "fast-lock" -;;;;;; "obsolete/fast-lock.el" (17382 34311)) +;;;;;; "obsolete/fast-lock.el" (17383 32179)) ;;; Generated autoloads from obsolete/fast-lock.el (autoload (quote fast-lock-mode) "fast-lock" "\ @@ -10457,7 +10583,7 @@ Unconditionally turn on Fast Lock mode. ;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue ;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts -;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (17258 33756)) +;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (17259 50162)) ;;; Generated autoloads from mail/feedmail.el (autoload (quote feedmail-send-it) "feedmail" "\ @@ -10511,7 +10637,7 @@ you can set feedmail-queue-reminder-alist to nil. ;;;*** ;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu -;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (17400 65127)) +;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (17401 56228)) ;;; Generated autoloads from ffap.el (autoload (quote ffap-next) "ffap" "\ @@ -10568,7 +10694,7 @@ Evaluate the forms in variable `ffap-bindings'. ;;;*** ;;;### (autoloads (file-cache-minibuffer-complete) "filecache" "filecache.el" -;;;;;; (17383 24125)) +;;;;;; (17383 32101)) ;;; Generated autoloads from filecache.el (autoload (quote file-cache-minibuffer-complete) "filecache" "\ @@ -10587,7 +10713,7 @@ the name is considered already unique; only the second substitution ;;;*** ;;;### (autoloads (filesets-init) "filesets" "filesets.el" (17383 -;;;;;; 24125)) +;;;;;; 32102)) ;;; Generated autoloads from filesets.el (autoload (quote filesets-init) "filesets" "\ @@ -10596,11 +10722,17 @@ Set up hooks, load the cache file -- if existing -- and build the menu. \(fn)" nil nil) +;;;*** + +;;;### (autoloads nil "fill" "textmodes/fill.el" (17585 4276)) +;;; Generated autoloads from textmodes/fill.el +(put 'colon-double-space 'safe-local-variable 'booleanp) + ;;;*** ;;;### (autoloads (find-grep-dired find-name-dired find-dired find-grep-options ;;;;;; find-ls-subdir-switches find-ls-option) "find-dired" "find-dired.el" -;;;;;; (17383 24125)) +;;;;;; (17383 32102)) ;;; Generated autoloads from find-dired.el (defvar find-ls-option (if (eq system-type (quote berkeley-unix)) (quote ("-ls" . "-gilsb")) (quote ("-exec ls -ld {} \\;" . "-ld"))) "\ @@ -10661,7 +10793,7 @@ Thus ARG can also contain additional grep options. ;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file ;;;;;; ff-find-other-file ff-get-other-file) "find-file" "find-file.el" -;;;;;; (17383 24125)) +;;;;;; (17383 32102)) ;;; Generated autoloads from find-file.el (defvar ff-special-constructs (quote (("^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" lambda nil (setq fname (buffer-substring (match-beginning 2) (match-end 2)))))) "\ @@ -10753,7 +10885,7 @@ Visit the file you click on in another window. ;;;;;; find-variable find-variable-noselect find-function-other-frame ;;;;;; find-function-other-window find-function find-function-noselect ;;;;;; find-function-search-for-symbol find-library) "find-func" -;;;;;; "emacs-lisp/find-func.el" (17410 24020)) +;;;;;; "emacs-lisp/find-func.el" (17590 36099)) ;;; Generated autoloads from emacs-lisp/find-func.el (autoload (quote find-library) "find-func" "\ @@ -10763,6 +10895,9 @@ Find the elisp source of LIBRARY. (autoload (quote find-function-search-for-symbol) "find-func" "\ Search for SYMBOL's definition of type TYPE in LIBRARY. +Visit the library in a buffer, and return a cons cell (BUFFER . POSITION), +or just (BUFFER . nil) if the definition can't be found in the file. + If TYPE is nil, look for a function definition. Otherwise, TYPE specifies the kind of definition, and it is interpreted via `find-function-regexp-alist'. @@ -10775,7 +10910,8 @@ Return a pair (BUFFER . POINT) pointing to the definition of FUNCTION. Finds the source file containing the definition of FUNCTION in a buffer and the point of the definition. The buffer is -not selected. +not selected. If the function definition can't be found in +the buffer, returns (BUFFER). If the file where FUNCTION is defined is not known, then it is searched for in `find-function-source-path' if non nil, otherwise @@ -10816,6 +10952,7 @@ Return a pair `(BUFFER . POINT)' pointing to the definition of VARIABLE. Finds the library containing the definition of VARIABLE in a buffer and the point of the definition. The buffer is not selected. +If the variable's definition can't be found in the buffer, return (BUFFER). The library where VARIABLE is defined is searched for in FILE or `find-function-source-path', if non nil, otherwise in `load-path'. @@ -10853,6 +10990,7 @@ See `find-variable' for more details. (autoload (quote find-definition-noselect) "find-func" "\ Return a pair `(BUFFER . POINT)' pointing to the definition of SYMBOL. +If the definition can't be found in the buffer, return (BUFFER). TYPE says what type of definition: nil for a function, `defvar' for a variable, `defface' for a face. This function does not switch to the buffer nor display it. @@ -10901,7 +11039,7 @@ Define some key bindings for the find-function family of functions. ;;;*** ;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories -;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (17393 12443)) +;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (17397 61540)) ;;; Generated autoloads from find-lisp.el (autoload (quote find-lisp-find-dired) "find-lisp" "\ @@ -10922,7 +11060,7 @@ Change the filter on a find-lisp-find-dired buffer to REGEXP. ;;;*** ;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords) -;;;;;; "finder" "finder.el" (17383 24125)) +;;;;;; "finder" "finder.el" (17466 42705)) ;;; Generated autoloads from finder.el (autoload (quote finder-list-keywords) "finder" "\ @@ -10944,7 +11082,7 @@ Find packages matching a given keyword. ;;;*** ;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl" -;;;;;; "flow-ctrl.el" (17383 24125)) +;;;;;; "flow-ctrl.el" (17383 32103)) ;;; Generated autoloads from flow-ctrl.el (autoload (quote enable-flow-control) "flow-ctrl" "\ @@ -10966,7 +11104,7 @@ to get the effect of a C-q. ;;;*** ;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el" -;;;;;; (17411 39818)) +;;;;;; (17484 52429)) ;;; Generated autoloads from gnus/flow-fill.el (autoload (quote fill-flowed-encode) "flow-fill" "\ @@ -10982,7 +11120,7 @@ Not documented ;;;*** ;;;### (autoloads (flymake-mode-off flymake-mode-on flymake-mode) -;;;;;; "flymake" "progmodes/flymake.el" (17396 25795)) +;;;;;; "flymake" "progmodes/flymake.el" (17397 61567)) ;;; Generated autoloads from progmodes/flymake.el (autoload (quote flymake-mode) "flymake" "\ @@ -11005,8 +11143,8 @@ Turn flymake mode off. ;;;*** ;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off -;;;;;; flyspell-mode flyspell-prog-mode) "flyspell" "textmodes/flyspell.el" -;;;;;; (17426 59268)) +;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode) +;;;;;; "flyspell" "textmodes/flyspell.el" (17578 34779)) ;;; Generated autoloads from textmodes/flyspell.el (autoload (quote flyspell-prog-mode) "flyspell" "\ @@ -11046,6 +11184,16 @@ in your .emacs file. \(fn &optional ARG)" t nil) +(autoload (quote turn-on-flyspell) "flyspell" "\ +Unconditionally turn on Flyspell mode. + +\(fn)" nil nil) + +(autoload (quote turn-off-flyspell) "flyspell" "\ +Unconditionally turn off Flyspell mode. + +\(fn)" nil nil) + (autoload (quote flyspell-mode-off) "flyspell" "\ Turn Flyspell mode off. @@ -11065,16 +11213,16 @@ Flyspell whole buffer. ;;;### (autoloads (follow-delete-other-windows-and-split follow-mode ;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el" -;;;;;; (17383 24125)) +;;;;;; (17487 53545)) ;;; Generated autoloads from follow.el (autoload (quote turn-on-follow-mode) "follow" "\ -Turn on Follow mode. Please see the function `follow-mode'. +Turn on Follow mode. Please see the function `follow-mode'. \(fn)" t nil) (autoload (quote turn-off-follow-mode) "follow" "\ -Turn off Follow mode. Please see the function `follow-mode'. +Turn off Follow mode. Please see the function `follow-mode'. \(fn)" t nil) @@ -11115,7 +11263,7 @@ is called. When turned off, `follow-mode-off-hook' is called. Keys specific to Follow mode: \\{follow-mode-map} -\(fn ARG)" t nil) +\(fn &optional ARG)" t nil) (autoload (quote follow-delete-other-windows-and-split) "follow" "\ Create two side by side windows and enter Follow Mode. @@ -11140,7 +11288,7 @@ in your `~/.emacs' file, replacing [f7] by your favourite key: ;;;*** ;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (17383 -;;;;;; 16812)) +;;;;;; 32168)) ;;; Generated autoloads from mail/footnote.el (autoload (quote footnote-mode) "footnote" "\ @@ -11161,7 +11309,7 @@ key binding ;;;*** ;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode) -;;;;;; "forms" "forms.el" (17383 24125)) +;;;;;; "forms" "forms.el" (17383 32104)) ;;; Generated autoloads from forms.el (autoload (quote forms-mode) "forms" "\ @@ -11198,7 +11346,7 @@ Visit a file in Forms mode in other window. ;;;*** ;;;### (autoloads (fortran-mode fortran-tab-mode-default) "fortran" -;;;;;; "progmodes/fortran.el" (17358 30049)) +;;;;;; "progmodes/fortran.el" (17358 25800)) ;;; Generated autoloads from progmodes/fortran.el (defvar fortran-tab-mode-default nil "\ @@ -11284,7 +11432,7 @@ with no args, if that value is non-nil. ;;;*** ;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region -;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (17382 1892)) +;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (17383 32182)) ;;; Generated autoloads from play/fortune.el (autoload (quote fortune-add-fortune) "fortune" "\ @@ -11334,7 +11482,7 @@ and choose the directory as the fortune-file. ;;;*** ;;;### (autoloads (gdb-enable-debug gdba) "gdb-ui" "progmodes/gdb-ui.el" -;;;;;; (17444 35371)) +;;;;;; (17578 34779)) ;;; Generated autoloads from progmodes/gdb-ui.el (autoload (quote gdba) "gdb-ui" "\ @@ -11398,7 +11546,7 @@ Non-nil means record the process input and output in `gdb-debug-ring'.") ;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal ;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (17383 -;;;;;; 16118)) +;;;;;; 32139)) ;;; Generated autoloads from emacs-lisp/generic.el (defvar generic-mode-list nil "\ @@ -11473,7 +11621,7 @@ regular expression that can be used as an element of ;;;*** ;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el" -;;;;;; (17405 58461)) +;;;;;; (17420 36091)) ;;; Generated autoloads from progmodes/glasses.el (autoload (quote glasses-mode) "glasses" "\ @@ -11483,10 +11631,57 @@ at places they belong to. \(fn &optional ARG)" t nil) +;;;*** + +;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error +;;;;;; gmm-message) "gmm-utils" "gnus/gmm-utils.el" (17521 64537)) +;;; Generated autoloads from gnus/gmm-utils.el + +(autoload (quote gmm-message) "gmm-utils" "\ +If LEVEL is lower than `gmm-verbose' print ARGS using `message'. + +Guideline for numbers: +1 - error messages, 3 - non-serious error messages, 5 - messages for things +that take a long time, 7 - not very important messages on stuff, 9 - messages +inside loops. + +\(fn LEVEL &rest ARGS)" nil nil) + +(autoload (quote gmm-error) "gmm-utils" "\ +Beep an error if LEVEL is equal to or less than `gmm-verbose'. +ARGS are passed to `message'. + +\(fn LEVEL &rest ARGS)" nil nil) + +(autoload (quote gmm-widget-p) "gmm-utils" "\ +Non-nil iff SYMBOL is a widget. + +\(fn SYMBOL)" nil nil) + +(autoload (quote gmm-tool-bar-from-list) "gmm-utils" "\ +Make a tool bar from ICON-LIST. + +Within each entry of ICON-LIST, the first element is a menu +command, the second element is an icon file name and the third +element is a test function. You can use \\[describe-key] + to find out the name of a menu command. The fourth +and all following elements are passed a the PROPS argument to the +function `tool-bar-local-item'. + +If ZAP-LIST is a list, remove those item from the default +`tool-bar-map'. If it is t, start with a new sparse map. You +can use \\[describe-key] to find out the name of an icon +item. When \\[describe-key] shows \" +runs the command find-file\", then use `new-file' in ZAP-LIST. + +DEFAULT-MAP specifies the default key map for ICON-LIST. + +\(fn ICON-LIST ZAP-LIST DEFAULT-MAP)" nil nil) + ;;;*** ;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server -;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (17426 3898)) +;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (17432 37362)) ;;; Generated autoloads from gnus/gnus.el (autoload (quote gnus-slave-no-server) "gnus" "\ @@ -11537,7 +11732,7 @@ prompt the user for the name of an NNTP server to use. ;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group ;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize ;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent" -;;;;;; "gnus/gnus-agent.el" (17440 25582)) +;;;;;; "gnus/gnus-agent.el" (17578 34776)) ;;; Generated autoloads from gnus/gnus-agent.el (autoload (quote gnus-unplugged) "gnus-agent" "\ @@ -11628,7 +11823,7 @@ If CLEAN, obsolete (ignore). ;;;*** ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el" -;;;;;; (17437 45961)) +;;;;;; (17578 34776)) ;;; Generated autoloads from gnus/gnus-art.el (autoload (quote gnus-article-prepare-display) "gnus-art" "\ @@ -11639,7 +11834,7 @@ Make the current buffer look like a nice article. ;;;*** ;;;### (autoloads (gnus-audio-play) "gnus-audio" "gnus/gnus-audio.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32155)) ;;; Generated autoloads from gnus/gnus-audio.el (autoload (quote gnus-audio-play) "gnus-audio" "\ @@ -11651,8 +11846,8 @@ Play a sound FILE through the speaker. ;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group ;;;;;; gnus-cache-generate-nov-databases gnus-cache-generate-active -;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (17382 -;;;;;; 1052)) +;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (17383 +;;;;;; 32155)) ;;; Generated autoloads from gnus/gnus-cache.el (autoload (quote gnus-jog-cache) "gnus-cache" "\ @@ -11694,7 +11889,7 @@ supported. ;;;*** ;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article) -;;;;;; "gnus-delay" "gnus/gnus-delay.el" (17382 1052)) +;;;;;; "gnus-delay" "gnus/gnus-delay.el" (17383 32155)) ;;; Generated autoloads from gnus/gnus-delay.el (autoload (quote gnus-delay-article) "gnus-delay" "\ @@ -11727,10 +11922,26 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil. \(fn &optional NO-KEYMAP NO-CHECK)" nil nil) +;;;*** + +;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d) +;;;;;; "gnus-diary" "gnus/gnus-diary.el" (17578 34776)) +;;; Generated autoloads from gnus/gnus-diary.el + +(autoload (quote gnus-user-format-function-d) "gnus-diary" "\ +Not documented + +\(fn HEADER)" nil nil) + +(autoload (quote gnus-user-format-function-D) "gnus-diary" "\ +Not documented + +\(fn HEADER)" nil nil) + ;;;*** ;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32155)) ;;; Generated autoloads from gnus/gnus-dired.el (autoload (quote turn-on-gnus-dired-mode) "gnus-dired" "\ @@ -11741,7 +11952,7 @@ Convenience method to turn on gnus-dired-mode. ;;;*** ;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el" -;;;;;; (17415 62487)) +;;;;;; (17420 36082)) ;;; Generated autoloads from gnus/gnus-draft.el (autoload (quote gnus-draft-reminder) "gnus-draft" "\ @@ -11753,8 +11964,8 @@ Reminder user if there are unsent drafts. ;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png ;;;;;; gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header -;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (17382 -;;;;;; 1052)) +;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (17466 +;;;;;; 42710)) ;;; Generated autoloads from gnus/gnus-fun.el (autoload (quote gnus-random-x-face) "gnus-fun" "\ @@ -11793,7 +12004,7 @@ FILE should be a PNG file that's 48x48 and smaller than or equal to ;;;*** ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group) -;;;;;; "gnus-group" "gnus/gnus-group.el" (17426 3898)) +;;;;;; "gnus-group" "gnus/gnus-group.el" (17578 34776)) ;;; Generated autoloads from gnus/gnus-group.el (autoload (quote gnus-fetch-group) "gnus-group" "\ @@ -11810,7 +12021,7 @@ Pop up a frame and enter GROUP. ;;;*** ;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32156)) ;;; Generated autoloads from gnus/gnus-kill.el (defalias (quote gnus-batch-kill) (quote gnus-batch-score)) @@ -11825,7 +12036,7 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score ;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate ;;;;;; turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el" -;;;;;; (17382 1052)) +;;;;;; (17578 34776)) ;;; Generated autoloads from gnus/gnus-ml.el (autoload (quote turn-on-gnus-mailing-list-mode) "gnus-ml" "\ @@ -11850,7 +12061,7 @@ Minor mode for providing mailing-list commands. ;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update ;;;;;; gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32157)) ;;; Generated autoloads from gnus/gnus-mlspl.el (autoload (quote gnus-group-split-setup) "gnus-mlspl" "\ @@ -11951,7 +12162,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns: ;;;*** ;;;### (autoloads (gnus-change-server) "gnus-move" "gnus/gnus-move.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32157)) ;;; Generated autoloads from gnus/gnus-move.el (autoload (quote gnus-change-server) "gnus-move" "\ @@ -11963,7 +12174,7 @@ Update the .newsrc.eld file to reflect the change of nntp server. ;;;*** ;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail) -;;;;;; "gnus-msg" "gnus/gnus-msg.el" (17382 1052)) +;;;;;; "gnus-msg" "gnus/gnus-msg.el" (17383 32157)) ;;; Generated autoloads from gnus/gnus-msg.el (autoload (quote gnus-msg-mail) "gnus-msg" "\ @@ -11988,7 +12199,7 @@ Like `message-reply'. ;;;*** ;;;### (autoloads (gnus-nocem-load-cache gnus-nocem-scan-groups) -;;;;;; "gnus-nocem" "gnus/gnus-nocem.el" (17426 3898)) +;;;;;; "gnus-nocem" "gnus/gnus-nocem.el" (17432 37361)) ;;; Generated autoloads from gnus/gnus-nocem.el (autoload (quote gnus-nocem-scan-groups) "gnus-nocem" "\ @@ -12005,7 +12216,7 @@ Load the NoCeM cache. ;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon ;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32157)) ;;; Generated autoloads from gnus/gnus-picon.el (autoload (quote gnus-treat-from-picon) "gnus-picon" "\ @@ -12032,7 +12243,7 @@ If picons are already displayed, remove them. ;;;;;; gnus-sorted-nintersection gnus-sorted-range-intersection ;;;;;; gnus-sorted-intersection gnus-intersection gnus-sorted-complement ;;;;;; gnus-sorted-ndifference gnus-sorted-difference) "gnus-range" -;;;;;; "gnus/gnus-range.el" (17382 1052)) +;;;;;; "gnus/gnus-range.el" (17383 32157)) ;;; Generated autoloads from gnus/gnus-range.el (autoload (quote gnus-sorted-difference) "gnus-range" "\ @@ -12100,7 +12311,7 @@ Add NUM into sorted LIST by side effect. ;;;*** ;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize) -;;;;;; "gnus-registry" "gnus/gnus-registry.el" (17382 1052)) +;;;;;; "gnus-registry" "gnus/gnus-registry.el" (17383 32157)) ;;; Generated autoloads from gnus/gnus-registry.el (autoload (quote gnus-registry-initialize) "gnus-registry" "\ @@ -12116,8 +12327,8 @@ Install the registry hooks. ;;;*** ;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate -;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (17382 -;;;;;; 1052)) +;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (17484 +;;;;;; 52430)) ;;; Generated autoloads from gnus/gnus-sieve.el (autoload (quote gnus-sieve-update) "gnus-sieve" "\ @@ -12145,7 +12356,7 @@ Not documented ;;;*** ;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32158)) ;;; Generated autoloads from gnus/gnus-soup.el (autoload (quote gnus-batch-brew-soup) "gnus-soup" "\ @@ -12165,7 +12376,7 @@ Note -- this function hasn't been implemented yet. ;;;*** ;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32158)) ;;; Generated autoloads from gnus/gnus-spec.el (autoload (quote gnus-update-format) "gnus-spec" "\ @@ -12176,8 +12387,8 @@ Update the format specification near point. ;;;*** ;;;### (autoloads (gnus-fixup-nnimap-unread-after-getting-new-news -;;;;;; gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (17426 -;;;;;; 3898)) +;;;;;; gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (17432 +;;;;;; 37361)) ;;; Generated autoloads from gnus/gnus-start.el (autoload (quote gnus-declare-backend) "gnus-start" "\ @@ -12193,7 +12404,7 @@ Not documented ;;;*** ;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32159)) ;;; Generated autoloads from gnus/gnus-win.el (autoload (quote gnus-add-configuration) "gnus-win" "\ @@ -12203,7 +12414,7 @@ Add the window configuration CONF to `gnus-buffer-configuration'. ;;;*** -;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (17382 1892)) +;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (17383 32182)) ;;; Generated autoloads from play/gomoku.el (autoload (quote gomoku) "gomoku" "\ @@ -12230,7 +12441,7 @@ Use \\[describe-mode] for more info. ;;;*** ;;;### (autoloads (goto-address goto-address-at-point) "goto-addr" -;;;;;; "net/goto-addr.el" (17383 13296)) +;;;;;; "net/goto-addr.el" (17582 28846)) ;;; Generated autoloads from net/goto-addr.el (define-obsolete-function-alias (quote goto-address-at-mouse) (quote goto-address-at-point) "22.1") @@ -12254,12 +12465,13 @@ Also fontifies the buffer appropriately (see `goto-address-fontify-p' and `goto-address-highlight-p' for more information). \(fn)" t nil) +(put 'goto-address 'safe-local-eval-function t) ;;;*** -;;;### (autoloads (grep-tree grep-find grep-mode grep grep-compute-defaults +;;;### (autoloads (rgrep lgrep grep-find grep grep-mode grep-compute-defaults ;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command -;;;;;; grep-window-height) "grep" "progmodes/grep.el" (17432 38016)) +;;;;;; grep-window-height) "grep" "progmodes/grep.el" (17590 36100)) ;;; Generated autoloads from progmodes/grep.el (defvar grep-window-height nil "\ @@ -12324,6 +12536,11 @@ Not documented \(fn)" nil nil) +(autoload (quote grep-mode) "grep" "\ +Sets `grep-last-buffer' and `compilation-window-height'. + +\(fn)" nil nil) + (autoload (quote grep) "grep" "\ Run grep, with user-specified args, and collect output in a buffer. While grep runs asynchronously, you can use \\[next-error] (M-x next-error), @@ -12338,15 +12555,7 @@ tag the cursor is over, substituting it into the last grep command in the grep command history (or into `grep-command' if that history list is empty). -If specified, optional second arg HIGHLIGHT-REGEXP is the regexp to -temporarily highlight in visited source lines. - -\(fn COMMAND-ARGS &optional HIGHLIGHT-REGEXP)" t nil) - -(autoload (quote grep-mode) "grep" "\ -Sets `grep-last-buffer' and `compilation-window-height'. - -\(fn)" nil nil) +\(fn COMMAND-ARGS)" t nil) (autoload (quote grep-find) "grep" "\ Run grep via find, with user-specified args COMMAND-ARGS. @@ -12361,29 +12570,45 @@ easily repeat a find command. (defalias (quote find-grep) (quote grep-find)) -(autoload (quote grep-tree) "grep" "\ -Grep for REGEXP in FILES in directory tree rooted at DIR. -Collect output in a buffer. -Interactively, prompt separately for each search parameter. -With prefix arg, reuse previous REGEXP. +(autoload (quote lgrep) "grep" "\ +Run grep, searching for REGEXP in FILES in current directory. The search is limited to file names matching shell pattern FILES. -FILES may use abbreviations defined in `grep-tree-files-aliases', e.g. +FILES may use abbreviations defined in `grep-files-aliases', e.g. entering `ch' is equivalent to `*.[ch]'. -While find runs asynchronously, you can use the \\[next-error] command -to find the text that grep hits refer to. +With \\[universal-argument] prefix, you can edit the constructed shell command line +before it is executed. +With two \\[universal-argument] prefixes, directly edit and run `grep-command'. -This command uses a special history list for its arguments, so you can -easily repeat a find command. +Collect output in a buffer. While grep runs asynchronously, you +can use \\[next-error] (M-x next-error), or \\\\[compile-goto-error] +in the grep output buffer, to go to the lines where grep found matches. -When used non-interactively, optional arg SUBDIRS limits the search to -those sub directories of DIR. +This command shares argument histories with \\[rgrep] and \\[grep]. -\(fn REGEXP FILES DIR &optional SUBDIRS)" t nil) +\(fn REGEXP &optional FILES)" t nil) + +(autoload (quote rgrep) "grep" "\ +Recursively grep for REGEXP in FILES in directory tree rooted at DIR. +The search is limited to file names matching shell pattern FILES. +FILES may use abbreviations defined in `grep-files-aliases', e.g. +entering `ch' is equivalent to `*.[ch]'. + +With \\[universal-argument] prefix, you can edit the constructed shell command line +before it is executed. +With two \\[universal-argument] prefixes, directly edit and run `grep-find-command'. + +Collect output in a buffer. While find runs asynchronously, you +can use \\[next-error] (M-x next-error), or \\\\[compile-goto-error] +in the grep output buffer, to go to the lines where grep found matches. + +This command shares argument histories with \\[lgrep] and \\[grep-find]. + +\(fn REGEXP &optional FILES DIR)" t nil) ;;;*** -;;;### (autoloads (gs-load-image) "gs" "gs.el" (17383 24126)) +;;;### (autoloads (gs-load-image) "gs" "gs.el" (17383 32104)) ;;; Generated autoloads from gs.el (autoload (quote gs-load-image) "gs" "\ @@ -12397,7 +12622,7 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful. ;;;*** ;;;### (autoloads (gdb-script-mode bashdb jdb pdb perldb xdb dbx -;;;;;; sdb gdb) "gud" "progmodes/gud.el" (17446 52773)) +;;;;;; sdb gdb) "gud" "progmodes/gud.el" (17578 34779)) ;;; Generated autoloads from progmodes/gud.el (autoload (quote gdb) "gud" "\ @@ -12483,8 +12708,8 @@ Major mode for editing GDB scripts ;;;*** -;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (17382 -;;;;;; 1892)) +;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (17383 +;;;;;; 32182)) ;;; Generated autoloads from play/handwrite.el (autoload (quote handwrite) "handwrite" "\ @@ -12502,7 +12727,7 @@ Variables: handwrite-linespace (default 12) ;;;*** ;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el" -;;;;;; (17075 55477)) +;;;;;; (17590 36100)) ;;; Generated autoloads from play/hanoi.el (autoload (quote hanoi) "hanoi" "\ @@ -12532,7 +12757,7 @@ to be updated. ;;;### (autoloads (scan-buf-previous-region scan-buf-next-region ;;;;;; scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer ;;;;;; help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string -;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (17383 24126)) +;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (17383 32104)) ;;; Generated autoloads from help-at-pt.el (autoload (quote help-at-pt-string) "help-at-pt" "\ @@ -12662,7 +12887,7 @@ different regions. With numeric argument ARG, behaves like ;;;### (autoloads (describe-categories describe-syntax describe-variable ;;;;;; variable-at-point describe-function-1 describe-simplify-lib-file-name ;;;;;; help-C-file-name describe-function help-with-tutorial) "help-fns" -;;;;;; "help-fns.el" (17399 44613)) +;;;;;; "help-fns.el" (17590 36098)) ;;; Generated autoloads from help-fns.el (autoload (quote help-with-tutorial) "help-fns" "\ @@ -12728,7 +12953,7 @@ BUFFER should be a buffer or a buffer name. ;;;*** ;;;### (autoloads (three-step-help) "help-macro" "help-macro.el" -;;;;;; (17383 24126)) +;;;;;; (17383 32105)) ;;; Generated autoloads from help-macro.el (defvar three-step-help nil "\ @@ -12744,7 +12969,7 @@ A value of nil means skip the middle step, so that ;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button ;;;;;; help-make-xrefs help-setup-xref help-mode-finish help-mode-setup -;;;;;; help-mode) "help-mode" "help-mode.el" (17437 64109)) +;;;;;; help-mode) "help-mode" "help-mode.el" (17590 36098)) ;;; Generated autoloads from help-mode.el (autoload (quote help-mode) "help-mode" "\ @@ -12827,7 +13052,7 @@ Add xrefs for symbols in `pp's output between FROM and TO. ;;;*** ;;;### (autoloads (Helper-help Helper-describe-bindings) "helper" -;;;;;; "emacs-lisp/helper.el" (17383 16118)) +;;;;;; "emacs-lisp/helper.el" (17590 36099)) ;;; Generated autoloads from emacs-lisp/helper.el (autoload (quote Helper-describe-bindings) "helper" "\ @@ -12843,7 +13068,7 @@ Provide help for current mode. ;;;*** ;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl" -;;;;;; "hexl.el" (17383 24126)) +;;;;;; "hexl.el" (17585 4275)) ;;; Generated autoloads from hexl.el (autoload (quote hexl-mode) "hexl" "\ @@ -12923,8 +13148,9 @@ You can use \\[hexl-find-file] to visit a file in Hexl mode. \(fn &optional ARG)" t nil) (autoload (quote hexl-find-file) "hexl" "\ -Edit file FILENAME in hexl-mode. -Switch to a buffer visiting file FILENAME, creating one in none exists. +Edit file FILENAME as a binary file in hex dump format. +Switch to a buffer visiting file FILENAME, creating one if none exists, +and edit the file in `hexl-mode'. \(fn FILENAME)" t nil) @@ -12939,7 +13165,7 @@ This discards the buffer's undo information. ;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer ;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer ;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" -;;;;;; (17383 24126)) +;;;;;; (17383 32105)) ;;; Generated autoloads from hi-lock.el (autoload (quote hi-lock-mode) "hi-lock" "\ @@ -12996,8 +13222,6 @@ use either \\[customize] or the function `global-hi-lock-mode'.") (custom-autoload (quote global-hi-lock-mode) "hi-lock") -(put (quote global-hi-lock-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote global-hi-lock-mode) "hi-lock" "\ Toggle Hi-Lock mode in every buffer. With prefix ARG, turn Global-Hi-Lock mode on if and only if ARG is positive. @@ -13065,7 +13289,7 @@ be found in variable `hi-lock-interactive-patterns'. ;;;*** ;;;### (autoloads (hide-ifdef-lines hide-ifdef-read-only hide-ifdef-initially -;;;;;; hide-ifdef-mode) "hideif" "progmodes/hideif.el" (17388 22062)) +;;;;;; hide-ifdef-mode) "hideif" "progmodes/hideif.el" (17521 64539)) ;;; Generated autoloads from progmodes/hideif.el (autoload (quote hide-ifdef-mode) "hideif" "\ @@ -13120,7 +13344,7 @@ how the hiding is done: ;;;*** ;;;### (autoloads (hs-minor-mode) "hideshow" "progmodes/hideshow.el" -;;;;;; (17388 22062)) +;;;;;; (17397 61568)) ;;; Generated autoloads from progmodes/hideshow.el (defvar hs-special-modes-alist (quote ((c-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning) (c++-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning) (bibtex-mode ("^@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning))) "\ @@ -13178,7 +13402,7 @@ Key bindings: ;;;;;; highlight-compare-buffers highlight-changes-rotate-faces ;;;;;; highlight-changes-previous-change highlight-changes-next-change ;;;;;; highlight-changes-mode highlight-changes-remove-highlight) -;;;;;; "hilit-chg" "hilit-chg.el" (17387 44422)) +;;;;;; "hilit-chg" "hilit-chg.el" (17397 61541)) ;;; Generated autoloads from hilit-chg.el (autoload (quote highlight-changes-remove-highlight) "hilit-chg" "\ @@ -13308,7 +13532,7 @@ variable `highlight-changes-global-changes-existing-buffers' is non-nil). ;;;;;; hippie-expand-ignore-buffers hippie-expand-max-buffers hippie-expand-no-restriction ;;;;;; hippie-expand-dabbrev-as-symbol hippie-expand-dabbrev-skip-space ;;;;;; hippie-expand-verbose hippie-expand-try-functions-list) "hippie-exp" -;;;;;; "hippie-exp.el" (17383 24126)) +;;;;;; "hippie-exp.el" (17383 32106)) ;;; Generated autoloads from hippie-exp.el (defvar hippie-expand-try-functions-list (quote (try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol)) "\ @@ -13381,7 +13605,7 @@ argument VERBOSE non-nil makes the function verbose. ;;;*** ;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el" -;;;;;; (17363 41687)) +;;;;;; (17365 2729)) ;;; Generated autoloads from hl-line.el (autoload (quote hl-line-mode) "hl-line" "\ @@ -13409,8 +13633,6 @@ use either \\[customize] or the function `global-hl-line-mode'.") (custom-autoload (quote global-hl-line-mode) "hl-line") -(put (quote global-hl-line-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote global-hl-line-mode) "hl-line" "\ Global minor mode to highlight the line about point in the current window. With ARG, turn Global-Hl-Line mode on if ARG is positive, off otherwise. @@ -13423,7 +13645,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and ;;;*** ;;;### (autoloads (list-holidays holidays) "holidays" "calendar/holidays.el" -;;;;;; (17426 49056)) +;;;;;; (17432 37359)) ;;; Generated autoloads from calendar/holidays.el (autoload (quote holidays) "holidays" "\ @@ -13460,7 +13682,7 @@ The optional LABEL is used to label the buffer created. ;;;*** ;;;### (autoloads (hscroll-global-mode hscroll-mode turn-on-hscroll) -;;;;;; "hscroll" "obsolete/hscroll.el" (17382 34311)) +;;;;;; "hscroll" "obsolete/hscroll.el" (17383 32179)) ;;; Generated autoloads from obsolete/hscroll.el (autoload (quote turn-on-hscroll) "hscroll" "\ @@ -13486,8 +13708,8 @@ Also see `automatic-hscrolling'. ;;;*** -;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (17396 -;;;;;; 25556)) +;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (17397 +;;;;;; 61555)) ;;; Generated autoloads from gnus/html2text.el (autoload (quote html2text) "html2text" "\ @@ -13519,7 +13741,7 @@ Convert HTML to plain text in the current buffer. ;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group ;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group ;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode -;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" (17442 18621)) +;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" (17457 37498)) ;;; Generated autoloads from ibuf-ext.el (autoload (quote ibuffer-auto-mode) "ibuf-ext" "\ @@ -13885,8 +14107,8 @@ defaults to one. ;;;*** ;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter -;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (17383 -;;;;;; 24126)) +;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (17457 +;;;;;; 37498)) ;;; Generated autoloads from ibuf-macs.el (autoload (quote define-ibuffer-column) "ibuf-macs" "\ @@ -13903,6 +14125,9 @@ the text, such as `mouse-face'. And SUMMARIZER, if given, is a function which will be passed a list of all the strings in its column; it should return a string to display at the bottom. +If HEADER-MOUSE-MAP is given, it will be used as a keymap for the +title of the column. + Note that this macro expands into a `defun' for a function named ibuffer-make-column-NAME. If INLINE is non-nil, then the form will be inlined into the compiled format versions. This means that if you @@ -13972,7 +14197,7 @@ bound to the current value of the filter. ;;;*** ;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers) -;;;;;; "ibuffer" "ibuffer.el" (17378 33493)) +;;;;;; "ibuffer" "ibuffer.el" (17578 34772)) ;;; Generated autoloads from ibuffer.el (autoload (quote ibuffer-list-buffers) "ibuffer" "\ @@ -14013,7 +14238,7 @@ FORMATS is the value to use for `ibuffer-formats'. ;;;### (autoloads (icalendar-import-buffer icalendar-import-file ;;;;;; icalendar-export-region icalendar-export-file) "icalendar" -;;;;;; "calendar/icalendar.el" (17397 11797)) +;;;;;; "calendar/icalendar.el" (17397 61548)) ;;; Generated autoloads from calendar/icalendar.el (autoload (quote icalendar-export-file) "icalendar" "\ @@ -14065,8 +14290,8 @@ buffer `*icalendar-errors*'. ;;;*** -;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (17398 -;;;;;; 17947)) +;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (17401 +;;;;;; 56228)) ;;; Generated autoloads from icomplete.el (defvar icomplete-mode nil "\ @@ -14077,8 +14302,6 @@ use either \\[customize] or the function `icomplete-mode'.") (custom-autoload (quote icomplete-mode) "icomplete") -(put (quote icomplete-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote icomplete-mode) "icomplete" "\ Toggle incremental minibuffer completion for this Emacs session. With a numeric argument, turn Icomplete mode on iff ARG is positive. @@ -14087,7 +14310,7 @@ With a numeric argument, turn Icomplete mode on iff ARG is positive. ;;;*** -;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (17388 22062)) +;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (17397 61568)) ;;; Generated autoloads from progmodes/icon.el (autoload (quote icon-mode) "icon" "\ @@ -14128,7 +14351,7 @@ with no args, if that value is non-nil. ;;;*** ;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el" -;;;;;; (17388 22062)) +;;;;;; (17515 39529)) ;;; Generated autoloads from progmodes/idlw-shell.el (autoload (quote idlwave-shell) "idlw-shell" "\ @@ -14154,11 +14377,11 @@ See also the variable `idlwave-shell-prompt-pattern'. ;;;*** ;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el" -;;;;;; (17388 22062)) +;;;;;; (17515 39529)) ;;; Generated autoloads from progmodes/idlwave.el (autoload (quote idlwave-mode) "idlwave" "\ -Major mode for editing IDL source files (version 5.7_22). +Major mode for editing IDL source files (version 6.0_em22). The main features of this mode are @@ -14207,11 +14430,10 @@ The main features of this mode are 3. Online IDL Help --------------- + \\[idlwave-context-help] displays the IDL documentation relevant - for the system variable, keyword, or routine at point. A single - key stroke gets you directly to the right place in the docs. The - HTML help files package must be installed for this to work -- check - the IDLWAVE webpage for the correct package for your version. See + for the system variable, keyword, or routines at point. A single + key stroke gets you directly to the right place in the docs. See the manual to configure where and how the HTML help is displayed. 4. Completion @@ -14238,7 +14460,7 @@ The main features of this mode are \\i IF statement template \\elif IF-ELSE statement template \\b BEGIN - + For a full list, use \\[idlwave-list-abbrevs]. Some templates also have direct keybindings - see the list of keybindings below. @@ -14279,7 +14501,7 @@ The main features of this mode are \\{idlwave-mode-map} \(fn)" t nil) -(add-to-list 'auto-mode-alist '("\\.[Pp][Rr][Oo]\\'" . idlwave-mode)) + (add-to-list 'auto-mode-alist '("\\.[Pp][Rr][Oo]\\'" . idlwave-mode)) ;;;*** @@ -14290,8 +14512,8 @@ The main features of this mode are ;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file ;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer ;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window -;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (17435 -;;;;;; 26372)) +;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (17590 +;;;;;; 36098)) ;;; Generated autoloads from ido.el (defvar ido-mode nil "\ @@ -14327,7 +14549,7 @@ default is to show it in the same window, unless it is already visible in another frame. As you type in a string, all of the buffers matching the string are -displayed if substring-matching is used (default). Look at +displayed if substring-matching is used (default). Look at `ido-enable-prefix' and `ido-toggle-prefix'. When you have found the buffer you want, it can then be selected. As you type, most keys have their normal keybindings, except for the following: \\ @@ -14350,7 +14572,7 @@ in a separate window. \\[ido-toggle-prefix] Toggle between substring and prefix matching. \\[ido-toggle-case] Toggle case-sensitive searching of buffer names. \\[ido-completion-help] Show list of matching buffers in separate window. -\\[ido-enter-find-file] Drop into ido-find-file. +\\[ido-enter-find-file] Drop into `ido-find-file'. \\[ido-kill-buffer-at-head] Kill buffer at head of buffer list. \\[ido-toggle-ignore] Toggle ignoring buffers listed in `ido-ignore-buffers'. @@ -14552,7 +14774,7 @@ DEF, if non-nil, is the default value. ;;;*** -;;;### (autoloads (ielm) "ielm" "ielm.el" (17383 24126)) +;;;### (autoloads (ielm) "ielm" "ielm.el" (17383 32107)) ;;; Generated autoloads from ielm.el (add-hook 'same-window-buffer-names "*ielm*") @@ -14565,7 +14787,7 @@ Switches to the buffer `*ielm*', or creates it if it does not exist. ;;;*** ;;;### (autoloads (iimage-mode turn-on-iimage-mode) "iimage" "iimage.el" -;;;;;; (17383 24126)) +;;;;;; (17383 32107)) ;;; Generated autoloads from iimage.el (autoload (quote turn-on-iimage-mode) "iimage" "\ @@ -14582,8 +14804,9 @@ Toggle inline image minor mode. ;;;### (autoloads (defimage find-image remove-images insert-sliced-image ;;;;;; insert-image put-image create-image image-type-available-p -;;;;;; image-type-from-file-name image-type-from-file-header image-type-from-buffer -;;;;;; image-type-from-data) "image" "image.el" (17437 41119)) +;;;;;; image-type image-type-from-file-name image-type-from-file-header +;;;;;; image-type-from-buffer image-type-from-data) "image" "image.el" +;;;;;; (17484 52424)) ;;; Generated autoloads from image.el (autoload (quote image-type-from-data) "image" "\ @@ -14614,6 +14837,17 @@ be determined. \(fn FILE)" nil nil) +(autoload (quote image-type) "image" "\ +Determine and return image type. +FILE-OR-DATA is an image file name or image data. +Optional TYPE is a symbol describing the image type. If TYPE is omitted +or nil, try to determine the image type from its first few bytes +of image data. If that doesn't work, and FILE-OR-DATA is a file name, +use its file extension as image type. +Optional DATA-P non-nil means FILE-OR-DATA is a string containing image data. + +\(fn FILE-OR-DATA &optional TYPE DATA-P)" nil nil) + (autoload (quote image-type-available-p) "image" "\ Return non-nil if image type TYPE is available. Image types are symbols like `xbm' or `jpeg'. @@ -14734,7 +14968,7 @@ Example: ;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp ;;;;;; image-file-name-regexps image-file-name-extensions) "image-file" -;;;;;; "image-file.el" (17383 24126)) +;;;;;; "image-file.el" (17383 32107)) ;;; Generated autoloads from image-file.el (defvar image-file-name-extensions (quote ("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm")) "\ @@ -14781,8 +15015,6 @@ use either \\[customize] or the function `auto-image-file-mode'.") (custom-autoload (quote auto-image-file-mode) "image-file") -(put (quote auto-image-file-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote auto-image-file-mode) "image-file" "\ Toggle visiting of image files as images. With prefix argument ARG, turn on if positive, otherwise off. @@ -14797,7 +15029,7 @@ Image files are those whose name has an extension in ;;;*** ;;;### (autoloads (image-mode-maybe image-minor-mode image-mode) -;;;;;; "image-mode" "image-mode.el" (17387 39216)) +;;;;;; "image-mode" "image-mode.el" (17578 34772)) ;;; Generated autoloads from image-mode.el (push '("\\.jpe?g\\'" . image-mode) auto-mode-alist) (push '("\\.png\\'" . image-mode) auto-mode-alist) @@ -14835,7 +15067,7 @@ information on these modes. ;;;*** ;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar -;;;;;; imenu-sort-function) "imenu" "imenu.el" (17383 24126)) +;;;;;; imenu-sort-function) "imenu" "imenu.el" (17585 4275)) ;;; Generated autoloads from imenu.el (defvar imenu-sort-function nil "\ @@ -14870,18 +15102,13 @@ during matching.") (make-variable-buffer-local (quote imenu-generic-expression)) (defvar imenu-create-index-function (quote imenu-default-create-index-function) "\ -The function to use for creating a buffer index. +The function to use for creating an index alist of the current buffer. -It should be a function that takes no arguments and returns an index -of the current buffer as an alist. +It should be a function that takes no arguments and returns +an index alist of the current buffer. The function is +called within a `save-excursion'. -Simple elements in the alist look like (INDEX-NAME . INDEX-POSITION). -Special elements look like (INDEX-NAME INDEX-POSITION FUNCTION ARGUMENTS...). -A nested sub-alist element looks like (INDEX-NAME SUB-ALIST). -The function `imenu--subalist-p' tests an element and returns t -if it is a sub-alist. - -This function is called within a `save-excursion'.") +See `imenu--index-alist' for the format of the buffer index alist.") (make-variable-buffer-local (quote imenu-create-index-function)) @@ -14955,7 +15182,7 @@ for more information. ;;;### (autoloads (indian-char-glyph indian-glyph-char in-is13194-pre-write-conversion ;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region) -;;;;;; "ind-util" "language/ind-util.el" (17339 56590)) +;;;;;; "ind-util" "language/ind-util.el" (17346 38886)) ;;; Generated autoloads from language/ind-util.el (autoload (quote indian-compose-region) "ind-util" "\ @@ -14998,7 +15225,7 @@ See also the function `indian-glyph-char'. ;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command ;;;;;; inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp" -;;;;;; "progmodes/inf-lisp.el" (17388 22062)) +;;;;;; "progmodes/inf-lisp.el" (17578 34779)) ;;; Generated autoloads from progmodes/inf-lisp.el (defvar inferior-lisp-filter-regexp "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'" "\ @@ -15065,7 +15292,7 @@ of `inferior-lisp-program'). Runs the hooks from ;;;### (autoloads (Info-speedbar-browser Info-goto-emacs-key-command-node ;;;;;; Info-goto-emacs-command-node Info-mode info-apropos Info-index ;;;;;; Info-directory Info-on-current-buffer info-standalone info-emacs-manual -;;;;;; info info-other-window) "info" "info.el" (17427 20646)) +;;;;;; info info-other-window) "info" "info.el" (17590 36099)) ;;; Generated autoloads from info.el (autoload (quote info-other-window) "info" "\ @@ -15231,7 +15458,7 @@ This will add a speedbar major display mode. ;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file ;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el" -;;;;;; (17383 24126)) +;;;;;; (17383 32108)) ;;; Generated autoloads from info-look.el (autoload (quote info-lookup-reset) "info-look" "\ @@ -15279,7 +15506,7 @@ Perform completion on file preceding point. ;;;*** ;;;### (autoloads (info-xref-check-all-custom info-xref-check-all -;;;;;; info-xref-check) "info-xref" "info-xref.el" (17383 24126)) +;;;;;; info-xref-check) "info-xref" "info-xref.el" (17521 64536)) ;;; Generated autoloads from info-xref.el (autoload (quote info-xref-check) "info-xref" "\ @@ -15306,7 +15533,7 @@ quite a while. ;;;*** ;;;### (autoloads (batch-info-validate Info-validate Info-split Info-tagify) -;;;;;; "informat" "informat.el" (17383 24126)) +;;;;;; "informat" "informat.el" (17383 32108)) ;;; Generated autoloads from informat.el (autoload (quote Info-tagify) "informat" "\ @@ -15347,7 +15574,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\" ;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method ;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el" -;;;;;; (17120 44797)) +;;;;;; (17116 6720)) ;;; Generated autoloads from international/isearch-x.el (autoload (quote isearch-toggle-specified-input-method) "isearch-x" "\ @@ -15368,7 +15595,7 @@ Not documented ;;;*** ;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17383 -;;;;;; 24126)) +;;;;;; 32108)) ;;; Generated autoloads from isearchb.el (autoload (quote isearchb-activate) "isearchb" "\ @@ -15382,7 +15609,7 @@ accessed via isearchb. ;;;*** ;;;### (autoloads (iso-accents-mode) "iso-acc" "obsolete/iso-acc.el" -;;;;;; (17382 34311)) +;;;;;; (17383 32179)) ;;; Generated autoloads from obsolete/iso-acc.el (autoload (quote iso-accents-mode) "iso-acc" "\ @@ -15415,7 +15642,7 @@ and a negative argument disables it. ;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only ;;;;;; iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso ;;;;;; iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt" -;;;;;; "international/iso-cvt.el" (17102 18714)) +;;;;;; "international/iso-cvt.el" (17097 33520)) ;;; Generated autoloads from international/iso-cvt.el (autoload (quote iso-spanish) "iso-cvt" "\ @@ -15499,7 +15726,7 @@ Add submenus to the File menu, to convert to and from various formats. ;;;*** ;;;### (autoloads nil "iso-transl" "international/iso-transl.el" -;;;;;; (17102 18715)) +;;;;;; (17097 33521)) ;;; Generated autoloads from international/iso-transl.el (or key-translation-map (setq key-translation-map (make-sparse-keymap))) (define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map) @@ -15512,8 +15739,9 @@ Add submenus to the File menu, to convert to and from various formats. ;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell ;;;;;; ispell-help ispell-pdict-save ispell-word ispell-local-dictionary-alist ;;;;;; ispell-personal-dictionary) "ispell" "textmodes/ispell.el" -;;;;;; (17436 5419)) +;;;;;; (17578 34779)) ;;; Generated autoloads from textmodes/ispell.el +(put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive)))) (defvar ispell-personal-dictionary nil "\ *File name of your personal spelling dictionary, or nil. @@ -15521,6 +15749,7 @@ If nil, the default personal dictionary, \"~/.ispell_DICTNAME\" is used, where DICTNAME is the name of your default dictionary.") (custom-autoload (quote ispell-personal-dictionary) "ispell") +(put 'ispell-local-dictionary 'safe-local-variable 'string-or-null-p) (defvar ispell-local-dictionary-alist nil "\ *List of local or customized dictionary definitions. @@ -15798,8 +16027,8 @@ You can bind this to the key C-c i in GNUS or mail by adding to ;;;*** -;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (17435 -;;;;;; 10813)) +;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (17438 +;;;;;; 58632)) ;;; Generated autoloads from iswitchb.el (defvar iswitchb-mode nil "\ @@ -15810,8 +16039,6 @@ use either \\[customize] or the function `iswitchb-mode'.") (custom-autoload (quote iswitchb-mode) "iswitchb") -(put (quote iswitchb-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote iswitchb-mode) "iswitchb" "\ Toggle Iswitchb global minor mode. With arg, turn Iswitchb mode on if and only iff ARG is positive. @@ -15825,7 +16052,7 @@ This mode enables switching between buffers using substrings. See ;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region ;;;;;; japanese-hiragana-region japanese-katakana-region japanese-zenkaku ;;;;;; japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal) -;;;;;; "japan-util" "language/japan-util.el" (17102 18773)) +;;;;;; "japan-util" "language/japan-util.el" (17097 33526)) ;;; Generated autoloads from language/japan-util.el (autoload (quote setup-japanese-environment-internal) "japan-util" "\ @@ -15903,7 +16130,7 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading. ;;;*** ;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr" -;;;;;; "jka-compr.el" (17410 23317)) +;;;;;; "jka-compr.el" (17420 36078)) ;;; Generated autoloads from jka-compr.el (defvar jka-compr-inhibit nil "\ @@ -15928,7 +16155,7 @@ by `jka-compr-installed'. ;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup ;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el" -;;;;;; (17383 13537)) +;;;;;; (17383 32143)) ;;; Generated autoloads from emulation/keypad.el (defvar keypad-setup nil "\ @@ -15984,7 +16211,7 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.' ;;;*** ;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el" -;;;;;; (17301 53989)) +;;;;;; (17301 45595)) ;;; Generated autoloads from international/kinsoku.el (autoload (quote kinsoku) "kinsoku" "\ @@ -16005,8 +16232,8 @@ the context of text formatting. ;;;*** -;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (17102 -;;;;;; 18717)) +;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (17097 +;;;;;; 33521)) ;;; Generated autoloads from international/kkc.el (defvar kkc-after-update-conversion-functions nil "\ @@ -16031,7 +16258,7 @@ and the return value is the length of the conversion. ;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro ;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter ;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro) "kmacro" -;;;;;; "kmacro.el" (17383 24126)) +;;;;;; "kmacro.el" (17503 24306)) ;;; Generated autoloads from kmacro.el (global-set-key "\C-x(" 'kmacro-start-macro) (global-set-key "\C-x)" 'kmacro-end-macro) @@ -16138,7 +16365,7 @@ If kbd macro currently being defined end it before activating it. ;;;### (autoloads (kannada-post-read-conversion kannada-compose-string ;;;;;; kannada-compose-region) "knd-util" "language/knd-util.el" -;;;;;; (17102 18774)) +;;;;;; (17097 33526)) ;;; Generated autoloads from language/knd-util.el (defconst kannada-consonant "[\x51f75-\x51fb9]") @@ -16161,7 +16388,7 @@ Not documented ;;;*** ;;;### (autoloads (setup-korean-environment-internal) "korea-util" -;;;;;; "language/korea-util.el" (17102 18775)) +;;;;;; "language/korea-util.el" (17097 33526)) ;;; Generated autoloads from language/korea-util.el (defvar default-korean-keyboard (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "") "\ @@ -16176,7 +16403,7 @@ Not documented ;;;*** ;;;### (autoloads (lm lm-test-run) "landmark" "play/landmark.el" -;;;;;; (17393 12443)) +;;;;;; (17582 28846)) ;;; Generated autoloads from play/landmark.el (defalias (quote landmark-repeat) (quote lm-test-run)) @@ -16210,8 +16437,8 @@ Use \\[describe-mode] for more info. ;;;### (autoloads (lao-compose-region lao-composition-function lao-post-read-conversion ;;;;;; lao-transcribe-roman-to-lao-string lao-transcribe-single-roman-syllable-to-lao -;;;;;; lao-compose-string) "lao-util" "language/lao-util.el" (17102 -;;;;;; 18775)) +;;;;;; lao-compose-string) "lao-util" "language/lao-util.el" (17097 +;;;;;; 33526)) ;;; Generated autoloads from language/lao-util.el (autoload (quote lao-compose-string) "lao-util" "\ @@ -16260,7 +16487,7 @@ Not documented ;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc ;;;;;; latexenc-inputenc-to-coding-system latex-inputenc-coding-alist) -;;;;;; "latexenc" "international/latexenc.el" (17370 39824)) +;;;;;; "latexenc" "international/latexenc.el" (17383 32167)) ;;; Generated autoloads from international/latexenc.el (defvar latex-inputenc-coding-alist (quote (("ansinew" . windows-1252) ("applemac" . mac-roman) ("ascii" . us-ascii) ("cp1250" . windows-1250) ("cp1252" . windows-1252) ("cp1257" . cp1257) ("cp437de" . cp437) ("cp437" . cp437) ("cp850" . cp850) ("cp852" . cp852) ("cp865" . cp865) ("latin1" . iso-8859-1) ("latin2" . iso-8859-2) ("latin3" . iso-8859-3) ("latin4" . iso-8859-4) ("latin5" . iso-8859-5) ("latin9" . iso-8859-15) ("next" . next) ("utf8" . utf-8) ("utf8x" . utf-8))) "\ @@ -16292,7 +16519,7 @@ coding system names is determined from `latex-inputenc-coding-alist'. ;;;*** ;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display) -;;;;;; "latin1-disp" "international/latin1-disp.el" (17102 18720)) +;;;;;; "latin1-disp" "international/latin1-disp.el" (17097 33522)) ;;; Generated autoloads from international/latin1-disp.el (defvar latin1-display nil "\ @@ -16336,7 +16563,7 @@ use either \\[customize] or the function `latin1-display'.") ;;;*** ;;;### (autoloads (turn-on-lazy-lock lazy-lock-mode) "lazy-lock" -;;;;;; "obsolete/lazy-lock.el" (17382 34311)) +;;;;;; "obsolete/lazy-lock.el" (17383 32179)) ;;; Generated autoloads from obsolete/lazy-lock.el (autoload (quote lazy-lock-mode) "lazy-lock" "\ @@ -16404,7 +16631,7 @@ Unconditionally turn on Lazy Lock mode. ;;;*** ;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el" -;;;;;; (17388 22062)) +;;;;;; (17397 61570)) ;;; Generated autoloads from progmodes/ld-script.el (add-to-list (quote auto-mode-alist) (quote ("\\.ld[si]?\\>" . ld-script-mode))) @@ -16419,7 +16646,7 @@ A major mode to edit GNU ld script files ;;;*** ;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el" -;;;;;; (17383 24126)) +;;;;;; (17383 32110)) ;;; Generated autoloads from ledit.el (defconst ledit-save-files t "\ @@ -16453,7 +16680,7 @@ Not documented ;;;*** -;;;### (autoloads (life) "life" "play/life.el" (17382 1892)) +;;;### (autoloads (life) "life" "play/life.el" (17383 32182)) ;;; Generated autoloads from play/life.el (autoload (quote life) "life" "\ @@ -16466,8 +16693,8 @@ generations (this defaults to 1). ;;;*** -;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (17410 -;;;;;; 23522)) +;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (17484 +;;;;;; 52424)) ;;; Generated autoloads from loadhist.el (autoload (quote unload-feature) "loadhist" "\ @@ -16490,7 +16717,7 @@ such as redefining an Emacs function. ;;;*** ;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches) -;;;;;; "locate" "locate.el" (17432 49887)) +;;;;;; "locate" "locate.el" (17578 34772)) ;;; Generated autoloads from locate.el (defvar locate-ls-subdir-switches "-al" "\ @@ -16537,7 +16764,7 @@ except that FILTER is not optional. ;;;*** -;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (17383 24126)) +;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (17494 22059)) ;;; Generated autoloads from log-edit.el (autoload (quote log-edit) "log-edit" "\ @@ -16558,8 +16785,8 @@ If BUFFER is non-nil `log-edit' will jump to that buffer, use it to edit the ;;;*** -;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (17383 -;;;;;; 24126)) +;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (17494 +;;;;;; 22059)) ;;; Generated autoloads from log-view.el (autoload (quote log-view-mode) "log-view" "\ @@ -16569,8 +16796,8 @@ Major mode for browsing CVS log output. ;;;*** -;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (17383 -;;;;;; 24126)) +;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (17590 +;;;;;; 36099)) ;;; Generated autoloads from longlines.el (autoload (quote longlines-mode) "longlines" "\ @@ -16592,7 +16819,7 @@ are indicated with a symbol. ;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer ;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (17383 -;;;;;; 24126)) +;;;;;; 32111)) ;;; Generated autoloads from lpr.el (defvar lpr-windows-system (memq system-type (quote (emx win32 w32 mswindows ms-dos windows-nt)))) @@ -16686,7 +16913,7 @@ for further customization of the printer command. ;;;*** ;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el" -;;;;;; (17383 24126)) +;;;;;; (17383 32111)) ;;; Generated autoloads from ls-lisp.el (defvar ls-lisp-support-shell-wildcards t "\ @@ -16697,8 +16924,8 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).") ;;;*** -;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (17385 -;;;;;; 41891)) +;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (17397 +;;;;;; 61548)) ;;; Generated autoloads from calendar/lunar.el (autoload (quote phases-of-moon) "lunar" "\ @@ -16711,8 +16938,8 @@ This function is suitable for execution in a .emacs file. ;;;*** -;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (17388 -;;;;;; 22062)) +;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (17397 +;;;;;; 61570)) ;;; Generated autoloads from progmodes/m4-mode.el (autoload (quote m4-mode) "m4-mode" "\ @@ -16724,7 +16951,7 @@ A major mode to edit m4 macro files. ;;;*** ;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el" -;;;;;; (17383 16118)) +;;;;;; (17383 32140)) ;;; Generated autoloads from emacs-lisp/macroexp.el (autoload (quote macroexpand-all) "macroexp" "\ @@ -16738,7 +16965,7 @@ definitions to shadow the loaded ones for use in file byte-compilation. ;;;*** ;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro -;;;;;; name-last-kbd-macro) "macros" "macros.el" (17383 24126)) +;;;;;; name-last-kbd-macro) "macros" "macros.el" (17383 32112)) ;;; Generated autoloads from macros.el (autoload (quote name-last-kbd-macro) "macros" "\ @@ -16827,7 +17054,7 @@ and then select the region of un-tablified names and use ;;;*** ;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr" -;;;;;; "mail/mail-extr.el" (17383 16812)) +;;;;;; "mail/mail-extr.el" (17383 32168)) ;;; Generated autoloads from mail/mail-extr.el (autoload (quote mail-extract-address-components) "mail-extr" "\ @@ -16859,7 +17086,7 @@ Convert mail domain DOMAIN to the country it corresponds to. ;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history ;;;;;; mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el" -;;;;;; (17383 16812)) +;;;;;; (17383 32168)) ;;; Generated autoloads from mail/mail-hist.el (autoload (quote mail-hist-define-keys) "mail-hist" "\ @@ -16891,7 +17118,7 @@ This function normally would be called when the message is sent. ;;;### (autoloads (mail-fetch-field mail-unquote-printable-region ;;;;;; mail-unquote-printable mail-quote-printable mail-file-babyl-p ;;;;;; mail-use-rfc822) "mail-utils" "mail/mail-utils.el" (17383 -;;;;;; 16812)) +;;;;;; 32168)) ;;; Generated autoloads from mail/mail-utils.el (defvar mail-use-rfc822 nil "\ @@ -16943,7 +17170,7 @@ If 4th arg LIST is non-nil, return a list of all such fields. ;;;*** ;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup) -;;;;;; "mailabbrev" "mail/mailabbrev.el" (17383 16812)) +;;;;;; "mailabbrev" "mail/mailabbrev.el" (17383 32168)) ;;; Generated autoloads from mail/mailabbrev.el (autoload (quote mail-abbrevs-setup) "mailabbrev" "\ @@ -16967,7 +17194,7 @@ If DEFINITION contains multiple addresses, separate them with commas. ;;;### (autoloads (mail-complete define-mail-alias expand-mail-aliases ;;;;;; mail-complete-style) "mailalias" "mail/mailalias.el" (17383 -;;;;;; 16812)) +;;;;;; 32169)) ;;; Generated autoloads from mail/mailalias.el (defvar mail-complete-style (quote angles) "\ @@ -17013,7 +17240,7 @@ current header, calls `mail-complete-function' and passes prefix arg if any. ;;;*** ;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el" -;;;;;; (17383 16812)) +;;;;;; (17383 32169)) ;;; Generated autoloads from mail/mailclient.el (autoload (quote mailclient-send-it) "mailclient" "\ @@ -17027,7 +17254,7 @@ The mail client is taken to be the handler of mailto URLs. ;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode ;;;;;; makefile-gmake-mode makefile-automake-mode makefile-mode) -;;;;;; "make-mode" "progmodes/make-mode.el" (17388 22062)) +;;;;;; "make-mode" "progmodes/make-mode.el" (17578 34779)) ;;; Generated autoloads from progmodes/make-mode.el (autoload (quote makefile-mode) "make-mode" "\ @@ -17035,11 +17262,10 @@ Major mode for editing standard Makefiles. If you are editing a file for a different make, try one of the variants `makefile-automake-mode', `makefile-gmake-mode', -`makefile-makepp-mode', `makefile-bsdmake-mode' or, -`makefile-imake-mode'All but the -last should be correctly chosen based on the file name, except if -it is *.mk. This function ends by invoking the function(s) -`makefile-mode-hook'. +`makefile-makepp-mode', `makefile-bsdmake-mode' or, +`makefile-imake-mode'. All but the last should be correctly +chosen based on the file name, except if it is *.mk. This +function ends by invoking the function(s) `makefile-mode-hook'. It is strongly recommended to use `font-lock-mode', because that provides additional parsing information. This is used for @@ -17146,7 +17372,7 @@ An adapted `makefile-mode' that knows about imake. ;;;*** ;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (17383 -;;;;;; 24126)) +;;;;;; 32112)) ;;; Generated autoloads from makesum.el (autoload (quote make-command-summary) "makesum" "\ @@ -17157,7 +17383,7 @@ Previous contents of that buffer are killed first. ;;;*** -;;;### (autoloads (man-follow man) "man" "man.el" (17383 24126)) +;;;### (autoloads (man-follow man) "man" "man.el" (17466 42706)) ;;; Generated autoloads from man.el (defalias (quote manual-entry) (quote man)) @@ -17184,7 +17410,7 @@ Get a Un*x manual page of the item under point and put it in a buffer. ;;;*** -;;;### (autoloads (master-mode) "master" "master.el" (17148 25016)) +;;;### (autoloads (master-mode) "master" "master.el" (17161 57259)) ;;; Generated autoloads from master.el (autoload (quote master-mode) "master" "\ @@ -17206,8 +17432,8 @@ yourself the value of `master-of' by calling `master-show-slave'. ;;;*** -;;;### (autoloads (menu-bar-mode) "menu-bar" "menu-bar.el" (17390 -;;;;;; 3585)) +;;;### (autoloads (menu-bar-mode) "menu-bar" "menu-bar.el" (17578 +;;;;;; 34772)) ;;; Generated autoloads from menu-bar.el (put (quote menu-bar-mode) (quote standard-value) (quote (t))) @@ -17220,8 +17446,6 @@ use either \\[customize] or the function `menu-bar-mode'.") (custom-autoload (quote menu-bar-mode) "menu-bar") -(put (quote menu-bar-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote menu-bar-mode) "menu-bar" "\ Toggle display of a menu bar on each frame. This command applies to all frames that exist and frames to be @@ -17243,7 +17467,7 @@ turn on menu bars; otherwise, turn off menu bars. ;;;;;; message-cite-function message-yank-prefix message-citation-line-function ;;;;;; message-send-mail-function message-user-organization-file ;;;;;; message-signature-separator message-from-style) "message" -;;;;;; "gnus/message.el" (17437 45960)) +;;;;;; "gnus/message.el" (17578 34776)) ;;; Generated autoloads from gnus/message.el (defvar message-from-style (quote default) "\ @@ -17497,7 +17721,7 @@ which specify the range to operate on. ;;;*** ;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el" -;;;;;; (17388 22062)) +;;;;;; (17397 61570)) ;;; Generated autoloads from progmodes/meta-mode.el (autoload (quote metafont-mode) "meta-mode" "\ @@ -17524,7 +17748,7 @@ Turning on MetaPost mode calls the value of the variable ;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body ;;;;;; metamail-interpret-header) "metamail" "mail/metamail.el" -;;;;;; (17383 16812)) +;;;;;; (17383 32169)) ;;; Generated autoloads from mail/metamail.el (autoload (quote metamail-interpret-header) "metamail" "\ @@ -17569,7 +17793,7 @@ redisplayed as output is inserted. ;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose ;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp" -;;;;;; "mh-e/mh-comp.el" (17437 48486)) +;;;;;; "mh-e/mh-comp.el" (17578 34777)) ;;; Generated autoloads from mh-e/mh-comp.el (autoload (quote mh-smail) "mh-comp" "\ @@ -17656,7 +17880,7 @@ delete the draft message. ;;;*** -;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (17448 13451)) +;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (17578 34777)) ;;; Generated autoloads from mh-e/mh-e.el (put (quote mh-progs) (quote risky-local-variable) t) @@ -17673,7 +17897,7 @@ Display version information about MH-E and the MH mail handling system. ;;;*** ;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder" -;;;;;; "mh-e/mh-folder.el" (17432 18686)) +;;;;;; "mh-e/mh-folder.el" (17484 52433)) ;;; Generated autoloads from mh-e/mh-folder.el (autoload (quote mh-rmail) "mh-folder" "\ @@ -17755,7 +17979,7 @@ perform the operation on all messages in that region. ;;;*** ;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight" -;;;;;; "midnight.el" (17416 12817)) +;;;;;; "midnight.el" (17420 36079)) ;;; Generated autoloads from midnight.el (autoload (quote clean-buffer-list) "midnight" "\ @@ -17782,7 +18006,7 @@ to its second argument TM. ;;;*** ;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef" -;;;;;; "minibuf-eldef.el" (17383 24126)) +;;;;;; "minibuf-eldef.el" (17383 32112)) ;;; Generated autoloads from minibuf-eldef.el (defvar minibuffer-electric-default-mode nil "\ @@ -17793,8 +18017,6 @@ use either \\[customize] or the function `minibuffer-electric-default-mode'.") (custom-autoload (quote minibuffer-electric-default-mode) "minibuf-eldef") -(put (quote minibuffer-electric-default-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote minibuffer-electric-default-mode) "minibuf-eldef" "\ Toggle Minibuffer Electric Default mode. When active, minibuffer prompts that show a default value only show the @@ -17811,7 +18033,7 @@ Returns non-nil if the new state is enabled. ;;;*** ;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el" -;;;;;; (17388 22062)) +;;;;;; (17397 61570)) ;;; Generated autoloads from progmodes/mixal-mode.el (autoload (quote mixal-mode) "mixal-mode" "\ @@ -17826,7 +18048,7 @@ Major mode for the mixal asm language. ;;;### (autoloads (malayalam-composition-function malayalam-post-read-conversion ;;;;;; malayalam-compose-region) "mlm-util" "language/mlm-util.el" -;;;;;; (17339 56590)) +;;;;;; (17346 38886)) ;;; Generated autoloads from language/mlm-util.el (autoload (quote malayalam-compose-region) "mlm-util" "\ @@ -17849,7 +18071,7 @@ PATTERN regexp. ;;;*** ;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents) -;;;;;; "mm-extern" "gnus/mm-extern.el" (17437 45960)) +;;;;;; "mm-extern" "gnus/mm-extern.el" (17484 52431)) ;;; Generated autoloads from gnus/mm-extern.el (autoload (quote mm-extern-cache-contents) "mm-extern" "\ @@ -17868,7 +18090,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing. ;;;*** ;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32161)) ;;; Generated autoloads from gnus/mm-partial.el (autoload (quote mm-inline-partial) "mm-partial" "\ @@ -17882,7 +18104,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing. ;;;*** ;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents) -;;;;;; "mm-url" "gnus/mm-url.el" (17382 1052)) +;;;;;; "mm-url" "gnus/mm-url.el" (17383 32161)) ;;; Generated autoloads from gnus/mm-url.el (autoload (quote mm-url-insert-file-contents) "mm-url" "\ @@ -17899,7 +18121,7 @@ Insert file contents of URL using `mm-url-program'. ;;;*** ;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu" -;;;;;; "gnus/mm-uu.el" (17437 45961)) +;;;;;; "gnus/mm-uu.el" (17498 30595)) ;;; Generated autoloads from gnus/mm-uu.el (autoload (quote mm-uu-dissect) "mm-uu" "\ @@ -17919,7 +18141,7 @@ Assume text has been decoded if DECODED is non-nil. ;;;*** ;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el" -;;;;;; (17388 8140)) +;;;;;; (17494 22066)) ;;; Generated autoloads from gnus/mml1991.el (autoload (quote mml1991-encrypt) "mml1991" "\ @@ -17936,7 +18158,7 @@ Not documented ;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt ;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt) -;;;;;; "mml2015" "gnus/mml2015.el" (17388 8140)) +;;;;;; "mml2015" "gnus/mml2015.el" (17498 30595)) ;;; Generated autoloads from gnus/mml2015.el (autoload (quote mml2015-decrypt) "mml2015" "\ @@ -17977,7 +18199,7 @@ Not documented ;;;*** ;;;### (autoloads (modula-2-mode) "modula2" "progmodes/modula2.el" -;;;;;; (17276 44726)) +;;;;;; (17281 61308)) ;;; Generated autoloads from progmodes/modula2.el (autoload (quote modula-2-mode) "modula2" "\ @@ -18009,7 +18231,7 @@ followed by the first character of the construct. ;;;*** ;;;### (autoloads (unmorse-region morse-region) "morse" "play/morse.el" -;;;;;; (17382 1892)) +;;;;;; (17383 32182)) ;;; Generated autoloads from play/morse.el (autoload (quote morse-region) "morse" "\ @@ -18025,7 +18247,7 @@ Convert morse coded text in region to ordinary ASCII text. ;;;*** ;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (17383 -;;;;;; 24126)) +;;;;;; 32113)) ;;; Generated autoloads from mouse-sel.el (defvar mouse-sel-mode nil "\ @@ -18036,8 +18258,6 @@ use either \\[customize] or the function `mouse-sel-mode'.") (custom-autoload (quote mouse-sel-mode) "mouse-sel") -(put (quote mouse-sel-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote mouse-sel-mode) "mouse-sel" "\ Toggle Mouse Sel mode. With prefix ARG, turn Mouse Sel mode on if and only if ARG is positive. @@ -18078,7 +18298,7 @@ primary selection and region. ;;;*** -;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (17382 1892)) +;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (17383 32183)) ;;; Generated autoloads from play/mpuz.el (autoload (quote mpuz) "mpuz" "\ @@ -18088,7 +18308,7 @@ Multiplication puzzle with GNU Emacs. ;;;*** -;;;### (autoloads (msb-mode) "msb" "msb.el" (17383 24126)) +;;;### (autoloads (msb-mode) "msb" "msb.el" (17578 34773)) ;;; Generated autoloads from msb.el (defvar msb-mode nil "\ @@ -18099,8 +18319,6 @@ use either \\[customize] or the function `msb-mode'.") (custom-autoload (quote msb-mode) "msb") -(put (quote msb-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote msb-mode) "msb" "\ Toggle Msb mode. With arg, turn Msb mode on if and only if arg is positive. @@ -18116,7 +18334,7 @@ different buffer menu using the function `msb'. ;;;;;; describe-current-coding-system describe-current-coding-system-briefly ;;;;;; describe-coding-system describe-character-set list-charset-chars ;;;;;; read-charset list-character-sets) "mule-diag" "international/mule-diag.el" -;;;;;; (17239 32324)) +;;;;;; (17210 47738)) ;;; Generated autoloads from international/mule-diag.el (defvar non-iso-charset-alist (\` ((mac-roman (ascii latin-iso8859-1 mule-unicode-2500-33ff mule-unicode-0100-24ff mule-unicode-e000-ffff) mac-roman-decoder ((0 255))) (viscii (ascii vietnamese-viscii-lower vietnamese-viscii-upper) viet-viscii-nonascii-translation-table ((0 255))) (vietnamese-tcvn (ascii vietnamese-viscii-lower vietnamese-viscii-upper) viet-tcvn-nonascii-translation-table ((0 255))) (koi8-r (ascii cyrillic-iso8859-5) cyrillic-koi8-r-nonascii-translation-table ((32 255))) (alternativnyj (ascii cyrillic-iso8859-5) cyrillic-alternativnyj-nonascii-translation-table ((32 255))) (koi8-u (ascii cyrillic-iso8859-5 mule-unicode-0100-24ff) cyrillic-koi8-u-nonascii-translation-table ((32 255))) (big5 (ascii chinese-big5-1 chinese-big5-2) decode-big5-char ((32 127) ((161 254) 64 126 161 254))) (sjis (ascii katakana-jisx0201 japanese-jisx0208) decode-sjis-char ((32 127 161 223) ((129 159 224 239) 64 126 128 252))))) "\ @@ -18289,7 +18507,7 @@ system which uses fontsets). ;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion ;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist ;;;;;; truncate-string-to-width store-substring string-to-sequence) -;;;;;; "mule-util" "international/mule-util.el" (17102 18726)) +;;;;;; "mule-util" "international/mule-util.el" (17097 33522)) ;;; Generated autoloads from international/mule-util.el (autoload (quote string-to-sequence) "mule-util" "\ @@ -18418,7 +18636,7 @@ basis, this may not be accurate. ;;;*** ;;;### (autoloads (mwheel-install mouse-wheel-mode) "mwheel" "mwheel.el" -;;;;;; (17393 49300)) +;;;;;; (17494 22018)) ;;; Generated autoloads from mwheel.el (defvar mouse-wheel-mode nil "\ @@ -18429,8 +18647,6 @@ use either \\[customize] or the function `mouse-wheel-mode'.") (custom-autoload (quote mouse-wheel-mode) "mwheel") -(put (quote mouse-wheel-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote mouse-wheel-mode) "mwheel" "\ Toggle mouse wheel support. With prefix argument ARG, turn on if positive, otherwise off. @@ -18448,7 +18664,7 @@ Enable mouse wheel support. ;;;### (autoloads (network-connection network-connection-to-service ;;;;;; whois-reverse-lookup whois finger ftp run-dig dns-lookup-host ;;;;;; nslookup nslookup-host route arp netstat ipconfig ping traceroute) -;;;;;; "net-utils" "net/net-utils.el" (17383 13296)) +;;;;;; "net-utils" "net/net-utils.el" (17383 32176)) ;;; Generated autoloads from net/net-utils.el (autoload (quote traceroute) "net-utils" "\ @@ -18544,7 +18760,7 @@ Open a network connection to HOST on PORT. ;;;;;; comment-kill comment-set-column comment-indent comment-indent-default ;;;;;; comment-normalize-vars comment-multi-line comment-padding ;;;;;; comment-style comment-column) "newcomment" "newcomment.el" -;;;;;; (17379 35991)) +;;;;;; (17515 39526)) ;;; Generated autoloads from newcomment.el (defalias (quote indent-for-comment) (quote comment-indent)) @@ -18570,21 +18786,26 @@ Comments might be indented to a value smaller than this in order not to go beyond `comment-fill-column'.") (custom-autoload (quote comment-column) "newcomment") +(put 'comment-column 'safe-local-variable 'integerp) (defvar comment-start nil "\ *String to insert to start a new comment, or nil if no comment syntax.") +(put 'comment-start 'safe-local-variable 'string-or-null-p) (defvar comment-start-skip nil "\ *Regexp to match the start of a comment plus everything up to its body. If there are any \\(...\\) pairs, the comment delimiter text is held to begin at the place matched by the close of the first pair.") +(put 'comment-start-skip 'safe-local-variable 'string-or-null-p) (defvar comment-end-skip nil "\ Regexp to match the end of a comment plus everything up to its body.") +(put 'comment-end-skip 'safe-local-variable 'string-or-null-p) (defvar comment-end "" "\ *String to insert to end a new comment. Should be an empty string if comments are terminated by end-of-line.") +(put 'comment-end 'safe-local-variable 'string-or-null-p) (defvar comment-indent-function (quote comment-indent-default) "\ Function to compute desired indentation for a comment. @@ -18728,7 +18949,7 @@ unless optional argument SOFT is non-nil. ;;;### (autoloads (newsticker-show-news newsticker-start-ticker newsticker-start ;;;;;; newsticker-ticker-running-p newsticker-running-p) "newsticker" -;;;;;; "net/newsticker.el" (17383 13296)) +;;;;;; "net/newsticker.el" (17383 32176)) ;;; Generated autoloads from net/newsticker.el (autoload (quote newsticker-running-p) "newsticker" "\ @@ -18770,7 +18991,7 @@ Switch to newsticker buffer. You may want to bind this to a key. ;;;*** ;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32162)) ;;; Generated autoloads from gnus/nndiary.el (autoload (quote nndiary-generate-nov-databases) "nndiary" "\ @@ -18780,8 +19001,8 @@ Generate NOV databases in all nndiary directories. ;;;*** -;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (17382 -;;;;;; 1052)) +;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (17383 +;;;;;; 32162)) ;;; Generated autoloads from gnus/nndoc.el (autoload (quote nndoc-add-type) "nndoc" "\ @@ -18796,7 +19017,7 @@ symbol in the alist. ;;;*** ;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el" -;;;;;; (17388 8140)) +;;;;;; (17397 61556)) ;;; Generated autoloads from gnus/nnfolder.el (autoload (quote nnfolder-generate-active-file) "nnfolder" "\ @@ -18808,7 +19029,7 @@ This command does not work if you use short group names. ;;;*** ;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32163)) ;;; Generated autoloads from gnus/nnkiboze.el (autoload (quote nnkiboze-generate-groups) "nnkiboze" "\ @@ -18820,7 +19041,7 @@ Finds out what articles are to be part of the nnkiboze groups. ;;;*** ;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el" -;;;;;; (17382 1052)) +;;;;;; (17383 32164)) ;;; Generated autoloads from gnus/nnml.el (autoload (quote nnml-generate-nov-databases) "nnml" "\ @@ -18831,7 +19052,7 @@ Generate NOV databases in all nnml directories. ;;;*** ;;;### (autoloads (nnsoup-revert-variables nnsoup-set-variables nnsoup-pack-replies) -;;;;;; "nnsoup" "gnus/nnsoup.el" (17382 1052)) +;;;;;; "nnsoup" "gnus/nnsoup.el" (17383 32164)) ;;; Generated autoloads from gnus/nnsoup.el (autoload (quote nnsoup-pack-replies) "nnsoup" "\ @@ -18852,7 +19073,7 @@ Revert posting and mailing methods to the standard Emacs methods. ;;;*** ;;;### (autoloads (disable-command enable-command disabled-command-function) -;;;;;; "novice" "novice.el" (17383 24126)) +;;;;;; "novice" "novice.el" (17383 32114)) ;;; Generated autoloads from novice.el (defvar disabled-command-function (quote disabled-command-function) "\ @@ -18885,7 +19106,7 @@ to future sessions. ;;;*** ;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el" -;;;;;; (17383 55314)) +;;;;;; (17383 55266)) ;;; Generated autoloads from textmodes/nroff-mode.el (autoload (quote nroff-mode) "nroff-mode" "\ @@ -18900,7 +19121,7 @@ closing requests for requests that are used in matched pairs. ;;;*** ;;;### (autoloads (octave-help) "octave-hlp" "progmodes/octave-hlp.el" -;;;;;; (17388 22062)) +;;;;;; (17397 61570)) ;;; Generated autoloads from progmodes/octave-hlp.el (autoload (quote octave-help) "octave-hlp" "\ @@ -18914,7 +19135,7 @@ If KEY is not a string, prompt for it with completion. ;;;*** ;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el" -;;;;;; (17388 22062)) +;;;;;; (17582 29242)) ;;; Generated autoloads from progmodes/octave-inf.el (autoload (quote inferior-octave) "octave-inf" "\ @@ -18937,7 +19158,7 @@ startup file, `~/.emacs-octave'. ;;;*** ;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el" -;;;;;; (17426 59496)) +;;;;;; (17432 37364)) ;;; Generated autoloads from progmodes/octave-mod.el (autoload (quote octave-mode) "octave-mod" "\ @@ -19036,7 +19257,7 @@ including a reproducible test case and send the message. ;;;*** ;;;### (autoloads (edit-options list-options) "options" "obsolete/options.el" -;;;;;; (17382 34311)) +;;;;;; (17578 34778)) ;;; Generated autoloads from obsolete/options.el (autoload (quote list-options) "options" "\ @@ -19058,10 +19279,11 @@ The Custom feature is intended to make this obsolete. ;;;*** ;;;### (autoloads (org-export-icalendar-combine-agenda-files org-export-icalendar-all-agenda-files -;;;;;; orgtbl-mode turn-on-orgtbl org-remember-handler org-remember-annotation +;;;;;; org-export-icalendar-this-file orgtbl-mode turn-on-orgtbl +;;;;;; org-remember-handler org-remember-apply-template org-remember-annotation ;;;;;; org-store-link org-tags-view org-diary org-todo-list org-agenda-list -;;;;;; org-agenda org-agenda-mode org-mode) "org" "textmodes/org.el" -;;;;;; (17447 40021)) +;;;;;; org-agenda org-global-cycle org-cycle org-mode) "org" "textmodes/org.el" +;;;;;; (17582 28847)) ;;; Generated autoloads from textmodes/org.el (autoload (quote org-mode) "org" "\ @@ -19085,14 +19307,40 @@ The following commands are available: \(fn)" t nil) -(autoload (quote org-agenda-mode) "org" "\ -Mode for time-sorted view on action items in Org-mode files. +(autoload (quote org-cycle) "org" "\ +Visibility cycling for Org-mode. -The following commands are available: +- When this function is called with a prefix argument, rotate the entire + buffer through 3 states (global cycling) + 1. OVERVIEW: Show only top-level headlines. + 2. CONTENTS: Show all headlines of all levels, but no body text. + 3. SHOW ALL: Show everything. -\\{org-agenda-mode-map} +- When point is at the beginning of a headline, rotate the subtree started + by this line through 3 different states (local cycling) + 1. FOLDED: Only the main headline is shown. + 2. CHILDREN: The main headline and the direct children are shown. + From this state, you can move to one of the children + and zoom in further. + 3. SUBTREE: Show the entire subtree, including body text. -\(fn)" t nil) +- When there is a numeric prefix, go up to a heading with level ARG, do + a `show-subtree' and return to the previous cursor position. If ARG + is negative, go up that many levels. + +- When point is not at the beginning of a headline, execute + `indent-relative', like TAB normally does. See the option + `org-cycle-emulate-tab' for details. + +- Special case: if point is the the beginning of the buffer and there is + no headline in line 1, this function will act as if called with prefix arg. + +\(fn &optional ARG)" t nil) + +(autoload (quote org-global-cycle) "org" "\ +Cycle the global visibility. For details see `org-cycle'. + +\(fn &optional ARG)" t nil) (autoload (quote org-agenda) "org" "\ Dispatch agenda commands to collect entries to the agenda buffer. @@ -19211,6 +19459,13 @@ conventions in Org-mode. This function returns such a link. \(fn)" nil nil) +(autoload (quote org-remember-apply-template) "org" "\ +Initialize *remember* buffer with template, invoke `org-mode'. +This function should be placed into `remember-mode-hook' and in fact requires +to be run from that hook to fucntion properly. + +\(fn)" nil nil) + (autoload (quote org-remember-handler) "org" "\ Store stuff from remember.el into an org file. First prompts for an org file. If the user just presses return, the value @@ -19257,6 +19512,13 @@ The `org-mode' table editor as a minor mode for use in other modes. \(fn &optional ARG)" t nil) +(autoload (quote org-export-icalendar-this-file) "org" "\ +Export current file as an iCalendar file. +The iCalendar file will be located in the same directory as the Org-mode +file, but with extension `.ics'. + +\(fn)" t nil) + (autoload (quote org-export-icalendar-all-agenda-files) "org" "\ Export all files in `org-agenda-files' to iCalendar .ics files. Each iCalendar file will be located in the same directory as the Org-mode @@ -19273,8 +19535,9 @@ The file is stored under the name `org-combined-agenda-icalendar-file'. ;;;*** ;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el" -;;;;;; (17419 48998)) +;;;;;; (17515 39526)) ;;; Generated autoloads from outline.el +(put 'outline-regexp 'safe-local-variable 'string-or-null-p) (autoload (quote outline-mode) "outline" "\ Set major mode for editing outlines with selective display. @@ -19328,7 +19591,22 @@ See the command `outline-mode' for more information on this mode. ;;;*** -;;;### (autoloads (show-paren-mode) "paren" "paren.el" (17383 24126)) +;;;### (autoloads nil "paragraphs" "textmodes/paragraphs.el" (17494 +;;;;;; 22070)) +;;; Generated autoloads from textmodes/paragraphs.el +(put 'paragraph-start 'safe-local-variable 'stringp) +(put 'paragraph-separate 'safe-local-variable 'stringp) +(put 'sentence-end-double-space 'safe-local-variable 'booleanp) +(put 'sentence-end-without-period 'safe-local-variable 'booleanp) +(put 'sentence-end-without-space 'safe-local-variable 'stringp) +(put 'sentence-end 'safe-local-variable 'string-or-null-p) +(put 'sentence-end-base 'safe-local-variable 'stringp) +(put 'page-delimiter 'safe-local-variable 'stringp) +(put 'paragraph-ignore-fill-prefix 'safe-local-variable 'booleanp) + +;;;*** + +;;;### (autoloads (show-paren-mode) "paren" "paren.el" (17383 32114)) ;;; Generated autoloads from paren.el (defvar show-paren-mode nil "\ @@ -19339,8 +19617,6 @@ use either \\[customize] or the function `show-paren-mode'.") (custom-autoload (quote show-paren-mode) "paren") -(put (quote show-paren-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote show-paren-mode) "paren" "\ Toggle Show Paren mode. With prefix ARG, turn Show Paren mode on if and only if ARG is positive. @@ -19354,7 +19630,7 @@ in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time. ;;;*** ;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el" -;;;;;; (17385 41891)) +;;;;;; (17397 61548)) ;;; Generated autoloads from calendar/parse-time.el (autoload (quote parse-time-string) "parse-time" "\ @@ -19366,8 +19642,8 @@ unknown are returned as nil. ;;;*** -;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (17388 -;;;;;; 22062)) +;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (17397 +;;;;;; 61571)) ;;; Generated autoloads from progmodes/pascal.el (autoload (quote pascal-mode) "pascal" "\ @@ -19420,7 +19696,7 @@ no args, if that value is non-nil. ;;;*** ;;;### (autoloads (pc-bindings-mode) "pc-mode" "emulation/pc-mode.el" -;;;;;; (17383 13537)) +;;;;;; (17383 32143)) ;;; Generated autoloads from emulation/pc-mode.el (autoload (quote pc-bindings-mode) "pc-mode" "\ @@ -19438,7 +19714,7 @@ C-Escape does list-buffers. ;;;*** ;;;### (autoloads (pc-selection-mode pc-selection-mode) "pc-select" -;;;;;; "emulation/pc-select.el" (17383 13537)) +;;;;;; "emulation/pc-select.el" (17383 32143)) ;;; Generated autoloads from emulation/pc-select.el (defvar pc-selection-mode nil "\ @@ -19449,8 +19725,6 @@ use either \\[customize] or the function `pc-selection-mode'.") (custom-autoload (quote pc-selection-mode) "pc-select") -(put (quote pc-selection-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote pc-selection-mode) "pc-select" "\ Change mark behavior to emulate Motif, MAC or MS-Windows cut and paste style. @@ -19516,7 +19790,7 @@ you must modify it using \\[customize] or \\[pc-selection-mode].") ;;;*** ;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (17383 -;;;;;; 24126)) +;;;;;; 32114)) ;;; Generated autoloads from pcmpl-cvs.el (autoload (quote pcomplete/cvs) "pcmpl-cvs" "\ @@ -19527,7 +19801,7 @@ Completion rules for the `cvs' command. ;;;*** ;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip) -;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (17383 24126)) +;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (17383 32115)) ;;; Generated autoloads from pcmpl-gnu.el (autoload (quote pcomplete/gzip) "pcmpl-gnu" "\ @@ -19555,7 +19829,7 @@ Completion for the GNU tar utility. ;;;*** ;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill) -;;;;;; "pcmpl-linux" "pcmpl-linux.el" (17383 24126)) +;;;;;; "pcmpl-linux" "pcmpl-linux.el" (17383 32115)) ;;; Generated autoloads from pcmpl-linux.el (autoload (quote pcomplete/kill) "pcmpl-linux" "\ @@ -19576,7 +19850,7 @@ Completion for GNU/Linux `mount'. ;;;*** ;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (17383 -;;;;;; 24126)) +;;;;;; 32115)) ;;; Generated autoloads from pcmpl-rpm.el (autoload (quote pcomplete/rpm) "pcmpl-rpm" "\ @@ -19592,7 +19866,7 @@ You can use \\[eshell-report-bug] to do so. ;;;### (autoloads (pcomplete/chgrp pcomplete/chown pcomplete/which ;;;;;; pcomplete/xargs pcomplete/rm pcomplete/rmdir pcomplete/cd) -;;;;;; "pcmpl-unix" "pcmpl-unix.el" (17383 24126)) +;;;;;; "pcmpl-unix" "pcmpl-unix.el" (17383 32115)) ;;; Generated autoloads from pcmpl-unix.el (autoload (quote pcomplete/cd) "pcmpl-unix" "\ @@ -19638,8 +19912,8 @@ Completion for the `chgrp' command. ;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list ;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete -;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (17383 -;;;;;; 24126)) +;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (17457 +;;;;;; 37500)) ;;; Generated autoloads from pcomplete.el (autoload (quote pcomplete) "pcomplete" "\ @@ -19698,7 +19972,7 @@ Setup shell-mode to use pcomplete. ;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status ;;;;;; cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs" -;;;;;; "pcvs.el" (17383 24126)) +;;;;;; "pcvs.el" (17578 34773)) ;;; Generated autoloads from pcvs.el (autoload (quote cvs-checkout) "pcvs" "\ @@ -19775,7 +20049,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d ;;;*** -;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (17383 24126)) +;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (17582 32791)) ;;; Generated autoloads from pcvs-defs.el (defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] (quote (menu-item "Directory Status" cvs-status :help "A more verbose status of a workarea"))) (define-key m [checkout] (quote (menu-item "Checkout Module" cvs-checkout :help "Check out a module from the repository"))) (define-key m [update] (quote (menu-item "Update Directory" cvs-update :help "Fetch updates from the repository"))) (define-key m [examine] (quote (menu-item "Examine Directory" cvs-examine :help "Examine the current state of a workarea"))) (fset (quote cvs-global-menu) m))) @@ -19783,7 +20057,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d ;;;*** ;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el" -;;;;;; (17388 22062)) +;;;;;; (17498 30499)) ;;; Generated autoloads from progmodes/perl-mode.el (autoload (quote perl-mode) "perl-mode" "\ @@ -19841,7 +20115,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'. ;;;### (autoloads (pgg-snarf-keys pgg-snarf-keys-region pgg-insert-key ;;;;;; pgg-verify pgg-verify-region pgg-sign pgg-sign-region pgg-decrypt ;;;;;; pgg-decrypt-region pgg-encrypt pgg-encrypt-symmetric pgg-encrypt-symmetric-region -;;;;;; pgg-encrypt-region) "pgg" "pgg.el" (17383 24126)) +;;;;;; pgg-encrypt-region) "pgg" "pgg.el" (17383 32117)) ;;; Generated autoloads from pgg.el (autoload (quote pgg-encrypt-region) "pgg" "\ @@ -19972,10 +20246,21 @@ Import public keys in the current buffer. \(fn)" t nil) +;;;*** + +;;;### (autoloads (pgg-gpg-symmetric-key-p) "pgg-gpg" "pgg-gpg.el" +;;;;;; (17466 42707)) +;;; Generated autoloads from pgg-gpg.el + +(autoload (quote pgg-gpg-symmetric-key-p) "pgg-gpg" "\ +True if decoded armor MESSAGE-KEYS has symmetric encryption indicator. + +\(fn MESSAGE-KEYS)" nil nil) + ;;;*** ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el" -;;;;;; (17383 15658)) +;;;;;; (17466 42716)) ;;; Generated autoloads from textmodes/picture.el (autoload (quote picture-mode) "picture" "\ @@ -20056,7 +20341,7 @@ they are not defaultly assigned to keys. ;;;*** ;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el" -;;;;;; (17383 15658)) +;;;;;; (17578 34780)) ;;; Generated autoloads from textmodes/po.el (autoload (quote po-find-file-coding-system) "po" "\ @@ -20067,7 +20352,7 @@ Called through `file-coding-system-alist', before the file is visited for real. ;;;*** -;;;### (autoloads (pong) "pong" "play/pong.el" (17382 1892)) +;;;### (autoloads (pong) "pong" "play/pong.el" (17578 34778)) ;;; Generated autoloads from play/pong.el (autoload (quote pong) "pong" "\ @@ -20084,7 +20369,7 @@ pong-mode keybindings:\\ ;;;*** ;;;### (autoloads (pp-eval-last-sexp pp-eval-expression pp pp-buffer -;;;;;; pp-to-string) "pp" "emacs-lisp/pp.el" (17383 16118)) +;;;;;; pp-to-string) "pp" "emacs-lisp/pp.el" (17383 32140)) ;;; Generated autoloads from emacs-lisp/pp.el (autoload (quote pp-to-string) "pp" "\ @@ -20142,7 +20427,7 @@ Ignores leading comment characters. ;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview ;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript ;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el" -;;;;;; (17383 24126)) +;;;;;; (17383 32117)) ;;; Generated autoloads from printing.el (autoload (quote pr-interface) "printing" "\ @@ -20730,7 +21015,7 @@ are both set to t. ;;;*** ;;;### (autoloads (run-prolog prolog-mode) "prolog" "progmodes/prolog.el" -;;;;;; (17388 22062)) +;;;;;; (17397 61571)) ;;; Generated autoloads from progmodes/prolog.el (autoload (quote prolog-mode) "prolog" "\ @@ -20750,7 +21035,7 @@ Run an inferior Prolog process, input and output via buffer *prolog*. ;;;*** -;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (17383 24126)) +;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (17383 32117)) ;;; Generated autoloads from ps-bdf.el (defvar bdf-directory-list (if (memq system-type (quote (ms-dos windows-nt))) (list (expand-file-name "fonts/bdf" installation-directory)) (quote ("/usr/local/share/emacs/fonts/bdf"))) "\ @@ -20759,8 +21044,8 @@ The default value is '(\"/usr/local/share/emacs/fonts/bdf\").") ;;;*** -;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (17388 -;;;;;; 22062)) +;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (17397 +;;;;;; 61571)) ;;; Generated autoloads from progmodes/ps-mode.el (autoload (quote ps-mode) "ps-mode" "\ @@ -20809,7 +21094,7 @@ Typing \\\\[ps-run-goto-error] when the cursor is at the number ;;;### (autoloads (ps-mule-begin-page ps-mule-begin-job ps-mule-encode-header-string ;;;;;; ps-mule-initialize ps-mule-plot-composition ps-mule-plot-string ;;;;;; ps-mule-set-ascii-font ps-mule-prepare-ascii-font ps-multibyte-buffer) -;;;;;; "ps-mule" "ps-mule.el" (17383 24126)) +;;;;;; "ps-mule" "ps-mule.el" (17383 32117)) ;;; Generated autoloads from ps-mule.el (defvar ps-multibyte-buffer nil "\ @@ -20931,7 +21216,7 @@ Not documented ;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces ;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type ;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (17383 -;;;;;; 24126)) +;;;;;; 32118)) ;;; Generated autoloads from ps-print.el (defvar ps-page-dimensions-database (list (list (quote a4) (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list (quote a3) (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list (quote letter) (* 72 8.5) (* 72 11.0) "Letter") (list (quote legal) (* 72 8.5) (* 72 14.0) "Legal") (list (quote letter-small) (* 72 7.68) (* 72 10.16) "LetterSmall") (list (quote tabloid) (* 72 11.0) (* 72 17.0) "Tabloid") (list (quote ledger) (* 72 17.0) (* 72 11.0) "Ledger") (list (quote statement) (* 72 5.5) (* 72 8.5) "Statement") (list (quote executive) (* 72 7.5) (* 72 10.0) "Executive") (list (quote a4small) (* 72 7.47) (* 72 10.85) "A4Small") (list (quote b4) (* 72 10.125) (* 72 14.33) "B4") (list (quote b5) (* 72 7.16) (* 72 10.125) "B5")) "\ @@ -21128,7 +21413,7 @@ If EXTENSION is any other symbol, it is ignored. ;;;*** ;;;### (autoloads (jython-mode python-mode run-python) "python" "progmodes/python.el" -;;;;;; (17388 22062)) +;;;;;; (17487 53546)) ;;; Generated autoloads from progmodes/python.el (add-to-list (quote interpreter-mode-alist) (quote ("jython" . jython-mode))) @@ -21192,7 +21477,7 @@ Runs `jython-mode-hook' after `python-mode-hook'. ;;;*** ;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el" -;;;;;; (17406 37716)) +;;;;;; (17420 36085)) ;;; Generated autoloads from gnus/qp.el (autoload (quote quoted-printable-decode-region) "qp" "\ @@ -21215,7 +21500,7 @@ them into characters should be done separately. ;;;;;; quail-defrule quail-install-decode-map quail-install-map ;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout ;;;;;; quail-define-package quail-use-package quail-title) "quail" -;;;;;; "international/quail.el" (17250 28362)) +;;;;;; "international/quail.el" (17304 24770)) ;;; Generated autoloads from international/quail.el (autoload (quote quail-title) "quail" "\ @@ -21447,7 +21732,7 @@ of each directory. ;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls ;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url ;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (17383 -;;;;;; 13296)) +;;;;;; 32176)) ;;; Generated autoloads from net/quickurl.el (defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\ @@ -21519,7 +21804,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'. ;;;*** ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" -;;;;;; "net/rcirc.el" (17448 18873)) +;;;;;; "net/rcirc.el" (17578 34778)) ;;; Generated autoloads from net/rcirc.el (autoload (quote rcirc) "rcirc" "\ @@ -21543,8 +21828,6 @@ use either \\[customize] or the function `rcirc-track-minor-mode'.") (custom-autoload (quote rcirc-track-minor-mode) "rcirc") -(put (quote rcirc-track-minor-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote rcirc-track-minor-mode) "rcirc" "\ Global minor mode for tracking activity in rcirc buffers. @@ -21552,8 +21835,8 @@ Global minor mode for tracking activity in rcirc buffers. ;;;*** -;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (17383 -;;;;;; 13296)) +;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (17578 +;;;;;; 34778)) ;;; Generated autoloads from net/rcompile.el (autoload (quote remote-compile) "rcompile" "\ @@ -21565,7 +21848,7 @@ See \\[compile]. ;;;*** ;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el" -;;;;;; (17383 16118)) +;;;;;; (17503 24307)) ;;; Generated autoloads from emacs-lisp/re-builder.el (defalias (quote regexp-builder) (quote re-builder)) @@ -21577,7 +21860,7 @@ Construct a regexp interactively. ;;;*** -;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (17383 24126)) +;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (17457 37500)) ;;; Generated autoloads from recentf.el (defvar recentf-mode nil "\ @@ -21588,8 +21871,6 @@ use either \\[customize] or the function `recentf-mode'.") (custom-autoload (quote recentf-mode) "recentf") -(put (quote recentf-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote recentf-mode) "recentf" "\ Toggle recentf mode. With prefix argument ARG, turn on if positive, otherwise off. @@ -21607,8 +21888,8 @@ that were operated on recently. ;;;### (autoloads (clear-rectangle string-insert-rectangle string-rectangle ;;;;;; delete-whitespace-rectangle open-rectangle insert-rectangle ;;;;;; yank-rectangle kill-rectangle extract-rectangle delete-extract-rectangle -;;;;;; delete-rectangle move-to-column-force) "rect" "rect.el" (17383 -;;;;;; 24127)) +;;;;;; delete-rectangle move-to-column-force) "rect" "rect.el" (17466 +;;;;;; 42707)) ;;; Generated autoloads from rect.el (autoload (quote move-to-column-force) "rect" "\ @@ -21657,6 +21938,12 @@ You might prefer to use `delete-extract-rectangle' from a program. With a prefix (or a FILL) argument, also fill lines where nothing has to be deleted. +If the buffer is read-only, Emacs will beep and refrain from deleting +the rectangle, but put it in the kill ring anyway. This means that +you can use this command to copy text from a read-only buffer. +\(If the variable `kill-read-only-ok' is non-nil, then this won't +even beep.) + \(fn START END &optional FILL)" t nil) (autoload (quote yank-rectangle) "rect" "\ @@ -21731,7 +22018,7 @@ rectangle which were empty. ;;;*** ;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (17383 -;;;;;; 15658)) +;;;;;; 32188)) ;;; Generated autoloads from textmodes/refill.el (autoload (quote refill-mode) "refill" "\ @@ -21747,7 +22034,7 @@ refilling if they would cause auto-filling. ;;;*** ;;;### (autoloads (reftex-reset-scanning-information reftex-mode -;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (17404 10043)) +;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (17404 53188)) ;;; Generated autoloads from textmodes/reftex.el (autoload (quote turn-on-reftex) "reftex" "\ @@ -21797,7 +22084,7 @@ This enforces rescanning the buffer on next use. ;;;*** ;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el" -;;;;;; (17404 4365)) +;;;;;; (17404 53187)) ;;; Generated autoloads from textmodes/reftex-cite.el (autoload (quote reftex-citation) "reftex-cite" "\ @@ -21827,7 +22114,7 @@ While entering the regexp, completion on knows citation keys is possible. ;;;*** ;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el" -;;;;;; (17404 4365)) +;;;;;; (17404 53187)) ;;; Generated autoloads from textmodes/reftex-global.el (autoload (quote reftex-isearch-minor-mode) "reftex-global" "\ @@ -21844,7 +22131,7 @@ With no argument, this command toggles ;;;*** ;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el" -;;;;;; (17413 18835)) +;;;;;; (17420 36092)) ;;; Generated autoloads from textmodes/reftex-index.el (autoload (quote reftex-index-phrases-mode) "reftex-index" "\ @@ -21877,7 +22164,7 @@ Here are all local bindings. ;;;*** ;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el" -;;;;;; (17404 4365)) +;;;;;; (17404 53187)) ;;; Generated autoloads from textmodes/reftex-parse.el (autoload (quote reftex-all-document-files) "reftex-parse" "\ @@ -21887,10 +22174,20 @@ of master file. \(fn &optional RELATIVE)" nil nil) +;;;*** + +;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (17494 +;;;;;; 22070)) +;;; Generated autoloads from textmodes/reftex-vars.el +(put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) +(put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) +(put 'reftex-level-indent 'safe-local-variable 'integerp) +(put 'reftex-guess-label-type 'safe-local-variable (lambda (x) (memq x '(nil t)))) + ;;;*** ;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el" -;;;;;; (17383 16119)) +;;;;;; (17383 32141)) ;;; Generated autoloads from emacs-lisp/regexp-opt.el (autoload (quote regexp-opt) "regexp-opt" "\ @@ -21917,7 +22214,7 @@ This means the number of non-shy regexp grouping constructs ;;;*** -;;;### (autoloads (repeat) "repeat" "repeat.el" (17383 24127)) +;;;### (autoloads (repeat) "repeat" "repeat.el" (17383 32118)) ;;; Generated autoloads from repeat.el (autoload (quote repeat) "repeat" "\ @@ -21935,7 +22232,7 @@ can be modified by the global variable `repeat-on-final-keystroke'. ;;;*** ;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el" -;;;;;; (17383 16812)) +;;;;;; (17383 32169)) ;;; Generated autoloads from mail/reporter.el (autoload (quote reporter-submit-bug-report) "reporter" "\ @@ -21967,7 +22264,7 @@ mail-sending package is used for editing and sending the message. ;;;*** ;;;### (autoloads (reposition-window) "reposition" "reposition.el" -;;;;;; (17383 24127)) +;;;;;; (17383 32119)) ;;; Generated autoloads from reposition.el (autoload (quote reposition-window) "reposition" "\ @@ -21995,7 +22292,7 @@ first comment line visible (if point is in a comment). ;;;*** ;;;### (autoloads (resume-suspend-hook) "resume" "resume.el" (17383 -;;;;;; 24127)) +;;;;;; 32119)) ;;; Generated autoloads from resume.el (autoload (quote resume-suspend-hook) "resume" "\ @@ -22006,7 +22303,7 @@ Clear out the file used for transmitting args when Emacs resumes. ;;;*** ;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el" -;;;;;; (17349 36484)) +;;;;;; (17494 22060)) ;;; Generated autoloads from reveal.el (autoload (quote reveal-mode) "reveal" "\ @@ -22027,8 +22324,6 @@ use either \\[customize] or the function `global-reveal-mode'.") (custom-autoload (quote global-reveal-mode) "reveal") -(put (quote global-reveal-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote global-reveal-mode) "reveal" "\ Toggle Reveal mode in all buffers on or off. Reveal mode renders invisible text around point visible again. @@ -22042,7 +22337,7 @@ With zero or negative ARG turn mode off. ;;;*** ;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el" -;;;;;; (17383 16119)) +;;;;;; (17383 32141)) ;;; Generated autoloads from emacs-lisp/ring.el (autoload (quote ring-p) "ring" "\ @@ -22057,7 +22352,7 @@ Make a ring that can contain SIZE elements. ;;;*** -;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (17383 13296)) +;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (17383 32177)) ;;; Generated autoloads from net/rlogin.el (add-hook 'same-window-regexps "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)") @@ -22108,8 +22403,8 @@ variable. ;;;;;; rmail-mail-new-frame rmail-primary-inbox-list rmail-delete-after-output ;;;;;; rmail-highlight-face rmail-highlighted-headers rmail-retry-ignored-headers ;;;;;; rmail-displayed-headers rmail-ignored-headers rmail-dont-reply-to-names -;;;;;; rmail-movemail-variant-p) "rmail" "mail/rmail.el" (17445 -;;;;;; 10908)) +;;;;;; rmail-movemail-variant-p) "rmail" "mail/rmail.el" (17521 +;;;;;; 64538)) ;;; Generated autoloads from mail/rmail.el (autoload (quote rmail-movemail-variant-p) "rmail" "\ @@ -22290,7 +22585,7 @@ If the variable `rmail-enable-mime' is non-nil, this variables is ignored, and all the decoding work is done by a feature specified by the variable `rmail-mime-feature'.") -(defvar rmail-mime-charset-pattern "^content-type:[ ]*text/plain;[ \n]*charset=\"?\\([^ \n\";]+\\)\"?" "\ +(defvar rmail-mime-charset-pattern (concat "^content-type:[ ]*text/plain;" "\\(?:[ \n]*\\(?:format\\|delsp\\)=\"?[-a-z0-9]+\"?;\\)*" "[ \n]*charset=\"?\\([^ \n\";]+\\)\"?") "\ Regexp to match MIME-charset specification in a header of message. The first parenthesized expression should match the MIME-charset name.") @@ -22374,7 +22669,7 @@ Set PASSWORD to be used for retrieving mail from a POP or IMAP server. ;;;*** ;;;### (autoloads (rmail-edit-current-message) "rmailedit" "mail/rmailedit.el" -;;;;;; (17383 16812)) +;;;;;; (17383 32170)) ;;; Generated autoloads from mail/rmailedit.el (autoload (quote rmail-edit-current-message) "rmailedit" "\ @@ -22386,7 +22681,7 @@ Edit the contents of this message. ;;;### (autoloads (rmail-next-labeled-message rmail-previous-labeled-message ;;;;;; rmail-read-label rmail-kill-label rmail-add-label) "rmailkwd" -;;;;;; "mail/rmailkwd.el" (17383 16812)) +;;;;;; "mail/rmailkwd.el" (17383 32170)) ;;; Generated autoloads from mail/rmailkwd.el (autoload (quote rmail-add-label) "rmailkwd" "\ @@ -22425,7 +22720,7 @@ With prefix argument N moves forward N messages with these labels. ;;;*** ;;;### (autoloads (set-rmail-inbox-list) "rmailmsc" "mail/rmailmsc.el" -;;;;;; (17383 16812)) +;;;;;; (17383 32170)) ;;; Generated autoloads from mail/rmailmsc.el (autoload (quote set-rmail-inbox-list) "rmailmsc" "\ @@ -22439,7 +22734,7 @@ If FILE-NAME is empty, remove any existing inbox list. ;;;### (autoloads (rmail-output-body-to-file rmail-output rmail-fields-not-to-output ;;;;;; rmail-output-to-rmail-file rmail-output-file-alist) "rmailout" -;;;;;; "mail/rmailout.el" (17383 16812)) +;;;;;; "mail/rmailout.el" (17383 32170)) ;;; Generated autoloads from mail/rmailout.el (defvar rmail-output-file-alist nil "\ @@ -22507,7 +22802,7 @@ FILE-NAME defaults, interactively, from the Subject field of the message. ;;;### (autoloads (rmail-sort-by-labels rmail-sort-by-lines rmail-sort-by-correspondent ;;;;;; rmail-sort-by-recipient rmail-sort-by-author rmail-sort-by-subject ;;;;;; rmail-sort-by-date) "rmailsort" "mail/rmailsort.el" (17383 -;;;;;; 16812)) +;;;;;; 32170)) ;;; Generated autoloads from mail/rmailsort.el (autoload (quote rmail-sort-by-date) "rmailsort" "\ @@ -22559,7 +22854,7 @@ KEYWORDS is a comma-separated list of labels. ;;;;;; rmail-summary-by-senders rmail-summary-by-topic rmail-summary-by-regexp ;;;;;; rmail-summary-by-recipients rmail-summary-by-labels rmail-summary ;;;;;; rmail-summary-line-count-flag rmail-summary-scroll-between-messages) -;;;;;; "rmailsum" "mail/rmailsum.el" (17426 63564)) +;;;;;; "rmailsum" "mail/rmailsum.el" (17432 37362)) ;;; Generated autoloads from mail/rmailsum.el (defvar rmail-summary-scroll-between-messages t "\ @@ -22641,7 +22936,7 @@ Setting this variable has an effect only before reading a mail.") ;;;*** ;;;### (autoloads (news-post-news) "rnewspost" "obsolete/rnewspost.el" -;;;;;; (17382 34311)) +;;;;;; (17383 32180)) ;;; Generated autoloads from obsolete/rnewspost.el (autoload (quote news-post-news) "rnewspost" "\ @@ -22654,7 +22949,7 @@ If NOQUERY is non-nil, we do not query before doing the work. ;;;*** ;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region -;;;;;; rot13-string rot13) "rot13" "rot13.el" (17383 24127)) +;;;;;; rot13-string rot13) "rot13" "rot13.el" (17383 32119)) ;;; Generated autoloads from rot13.el (autoload (quote rot13) "rot13" "\ @@ -22695,7 +22990,7 @@ Toggle the use of rot 13 encoding for the current window. ;;;;;; resize-minibuffer-frame-max-height resize-minibuffer-frame ;;;;;; resize-minibuffer-window-exactly resize-minibuffer-window-max-height ;;;;;; resize-minibuffer-mode) "rsz-mini" "obsolete/rsz-mini.el" -;;;;;; (17382 34311)) +;;;;;; (17383 32180)) ;;; Generated autoloads from obsolete/rsz-mini.el (defvar resize-minibuffer-mode nil "\ @@ -22736,7 +23031,7 @@ This function is obsolete. ;;;*** ;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (17383 -;;;;;; 24127)) +;;;;;; 32119)) ;;; Generated autoloads from ruler-mode.el (autoload (quote ruler-mode) "ruler-mode" "\ @@ -22746,8 +23041,8 @@ Display a ruler in the header line if ARG > 0. ;;;*** -;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (17416 -;;;;;; 13385)) +;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (17420 +;;;;;; 36082)) ;;; Generated autoloads from emacs-lisp/rx.el (autoload (quote rx-to-string) "rx" "\ @@ -23055,7 +23350,7 @@ enclosed in `(and ...)'. ;;;*** ;;;### (autoloads (savehist-mode savehist-mode) "savehist" "savehist.el" -;;;;;; (17383 24127)) +;;;;;; (17457 37500)) ;;; Generated autoloads from savehist.el (defvar savehist-mode nil "\ @@ -23081,7 +23376,7 @@ which is probably undesirable. ;;;*** ;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el" -;;;;;; (17388 22062)) +;;;;;; (17397 61572)) ;;; Generated autoloads from progmodes/scheme.el (autoload (quote scheme-mode) "scheme" "\ @@ -23123,7 +23418,7 @@ that variable's value is a string. ;;;*** ;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el" -;;;;;; (17382 1051)) +;;;;;; (17383 32165)) ;;; Generated autoloads from gnus/score-mode.el (autoload (quote gnus-score-mode) "score-mode" "\ @@ -23136,8 +23431,8 @@ This mode is an extended emacs-lisp mode. ;;;*** -;;;### (autoloads (scribe-mode) "scribe" "obsolete/scribe.el" (17382 -;;;;;; 34311)) +;;;### (autoloads (scribe-mode) "scribe" "obsolete/scribe.el" (17383 +;;;;;; 32180)) ;;; Generated autoloads from obsolete/scribe.el (autoload (quote scribe-mode) "scribe" "\ @@ -23162,7 +23457,7 @@ Interesting variables: ;;;*** ;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el" -;;;;;; (17383 24127)) +;;;;;; (17383 32120)) ;;; Generated autoloads from scroll-all.el (defvar scroll-all-mode nil "\ @@ -23173,8 +23468,6 @@ use either \\[customize] or the function `scroll-all-mode'.") (custom-autoload (quote scroll-all-mode) "scroll-all") -(put (quote scroll-all-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote scroll-all-mode) "scroll-all" "\ Toggle Scroll-All minor mode. With ARG, turn Scroll-All minor mode on if ARG is positive, off otherwise. @@ -23186,7 +23479,7 @@ apply to all visible windows in the same frame. ;;;*** ;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el" -;;;;;; (17383 24127)) +;;;;;; (17383 32120)) ;;; Generated autoloads from scroll-lock.el (autoload (quote scroll-lock-mode) "scroll-lock" "\ @@ -23208,7 +23501,7 @@ during scrolling. ;;;;;; mail-alias-file mail-default-reply-to mail-archive-file-name ;;;;;; mail-header-separator send-mail-function mail-interactive ;;;;;; mail-self-blind mail-specify-envelope-from mail-from-style) -;;;;;; "sendmail" "mail/sendmail.el" (17383 16812)) +;;;;;; "sendmail" "mail/sendmail.el" (17578 34777)) ;;; Generated autoloads from mail/sendmail.el (defvar mail-from-style (quote angles) "\ @@ -23509,7 +23802,7 @@ Like `mail' command, but display mail buffer in another frame. ;;;*** ;;;### (autoloads (server-mode server-start) "server" "server.el" -;;;;;; (17417 47894)) +;;;;;; (17582 28846)) ;;; Generated autoloads from server.el (autoload (quote server-start) "server" "\ @@ -23531,8 +23824,6 @@ use either \\[customize] or the function `server-mode'.") (custom-autoload (quote server-mode) "server") -(put (quote server-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote server-mode) "server" "\ Toggle Server mode. With ARG, turn Server mode on if ARG is positive, off otherwise. @@ -23543,7 +23834,7 @@ Server mode runs a process that accepts commands from the ;;;*** -;;;### (autoloads (ses-mode) "ses" "ses.el" (17365 22702)) +;;;### (autoloads (ses-mode) "ses" "ses.el" (17578 34773)) ;;; Generated autoloads from ses.el (autoload (quote ses-mode) "ses" "\ @@ -23562,7 +23853,7 @@ These are active only in the minibuffer, when entering or editing a formula: ;;;*** ;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el" -;;;;;; (17383 15659)) +;;;;;; (17521 64540)) ;;; Generated autoloads from textmodes/sgml-mode.el (autoload (quote sgml-mode) "sgml-mode" "\ @@ -23575,8 +23866,8 @@ An argument of N to a tag-inserting command means to wrap it around the next N words. In Transient Mark mode, when the mark is active, N defaults to -1, which means to wrap it around the current region. -If you like upcased tags, put (setq sgml-transformation 'upcase) in -your `.emacs' file. +If you like upcased tags, put (setq sgml-transformation-function 'upcase) +in your `.emacs' file. Use \\[sgml-validate] to validate your document with an SGML parser. @@ -23630,8 +23921,9 @@ To work around that, do: ;;;*** ;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el" -;;;;;; (17408 15904)) +;;;;;; (17590 26287)) ;;; Generated autoloads from progmodes/sh-script.el +(put 'sh-shell 'safe-local-variable 'symbolp) (autoload (quote sh-mode) "sh-script" "\ Major mode for editing shell scripts. @@ -23693,7 +23985,7 @@ with your script for an edit-interpret-debug cycle. ;;;*** -;;;### (autoloads (sha1) "sha1" "gnus/sha1.el" (17382 1051)) +;;;### (autoloads (sha1) "sha1" "gnus/sha1.el" (17383 32165)) ;;; Generated autoloads from gnus/sha1.el (autoload (quote sha1) "sha1" "\ @@ -23708,7 +24000,7 @@ If BINARY is non-nil, return a string in binary form. ;;;*** ;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el" -;;;;;; (17383 16119)) +;;;;;; (17383 32141)) ;;; Generated autoloads from emacs-lisp/shadow.el (autoload (quote list-load-path-shadows) "shadow" "\ @@ -23756,7 +24048,7 @@ buffer called `*Shadows*'. Shadowings are located by calling the ;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group ;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (17383 -;;;;;; 24127)) +;;;;;; 32120)) ;;; Generated autoloads from shadowfile.el (autoload (quote shadow-define-cluster) "shadowfile" "\ @@ -23795,7 +24087,7 @@ Set up file shadowing. ;;;*** ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el" -;;;;;; (17383 24127)) +;;;;;; (17582 28833)) ;;; Generated autoloads from shell.el (defvar shell-dumb-shell-regexp "cmd\\(proxy\\)?\\.exe" "\ @@ -23842,7 +24134,7 @@ Otherwise, one argument `-i' is passed to the shell. ;;;*** ;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage) -;;;;;; "sieve" "gnus/sieve.el" (17382 1051)) +;;;;;; "sieve" "gnus/sieve.el" (17383 32166)) ;;; Generated autoloads from gnus/sieve.el (autoload (quote sieve-manage) "sieve" "\ @@ -23863,7 +24155,7 @@ Not documented ;;;*** ;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el" -;;;;;; (17382 1051)) +;;;;;; (17383 32166)) ;;; Generated autoloads from gnus/sieve-mode.el (autoload (quote sieve-mode) "sieve-mode" "\ @@ -23878,8 +24170,14 @@ Turning on Sieve mode runs `sieve-mode-hook'. ;;;*** -;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (17388 -;;;;;; 22062)) +;;;### (autoloads nil "simple" "simple.el" (17590 36099)) +;;; Generated autoloads from simple.el +(put 'fill-prefix 'safe-local-variable 'string-or-null-p) + +;;;*** + +;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (17397 +;;;;;; 61572)) ;;; Generated autoloads from progmodes/simula.el (autoload (quote simula-mode) "simula" "\ @@ -23928,10 +24226,10 @@ with no arguments, if that value is non-nil. ;;;*** ;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new -;;;;;; define-skeleton) "skeleton" "skeleton.el" (17383 24127)) +;;;;;; define-skeleton) "skeleton" "skeleton.el" (17521 64537)) ;;; Generated autoloads from skeleton.el -(defvar skeleton-filter (quote identity) "\ +(defvar skeleton-filter-function (quote identity) "\ Function for transforming a skeleton proxy's aliases' variable value.") (autoload (quote define-skeleton) "skeleton" "\ @@ -23975,7 +24273,7 @@ SKELETON is made up as (INTERACTOR ELEMENT ...). INTERACTOR may be nil if not needed, a prompt-string or an expression for complex read functions. If ELEMENT is a string or a character it gets inserted (see also -`skeleton-transformation'). Other possibilities are: +`skeleton-transformation-function'). Other possibilities are: \\n go to next line and indent according to mode _ interesting point, interregion here @@ -24025,7 +24323,7 @@ Insert the character you type ARG times. With no ARG, if `skeleton-pair' is non-nil, pairing can occur. If the region is visible the pair is wrapped around it depending on `skeleton-autowrap'. Else, if `skeleton-pair-on-word' is non-nil or we are not before or inside a -word, and if `skeleton-pair-filter' returns nil, pairing is performed. +word, and if `skeleton-pair-filter-function' returns nil, pairing is performed. Pairing is also prohibited if we are right after a quoting character such as backslash. @@ -24038,7 +24336,7 @@ symmetrical ones, and the same character twice for the others. ;;;*** ;;;### (autoloads (smerge-mode smerge-ediff) "smerge-mode" "smerge-mode.el" -;;;;;; (17383 24127)) +;;;;;; (17494 22060)) ;;; Generated autoloads from smerge-mode.el (autoload (quote smerge-ediff) "smerge-mode" "\ @@ -24057,7 +24355,7 @@ Minor mode to simplify editing output from the diff3 program. ;;;*** ;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el" -;;;;;; (17440 25582)) +;;;;;; (17457 37503)) ;;; Generated autoloads from gnus/smiley.el (autoload (quote smiley-region) "smiley" "\ @@ -24075,7 +24373,7 @@ interactively. If there's no argument, do it at the current buffer ;;;*** ;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail" -;;;;;; "mail/smtpmail.el" (17383 16812)) +;;;;;; "mail/smtpmail.el" (17383 32170)) ;;; Generated autoloads from mail/smtpmail.el (autoload (quote smtpmail-send-it) "smtpmail" "\ @@ -24090,7 +24388,7 @@ Send mail that was queued as a result of setting `smtpmail-queue-mail'. ;;;*** -;;;### (autoloads (snake) "snake" "play/snake.el" (17382 1892)) +;;;### (autoloads (snake) "snake" "play/snake.el" (17383 32183)) ;;; Generated autoloads from play/snake.el (autoload (quote snake) "snake" "\ @@ -24114,7 +24412,7 @@ Snake mode keybindings: ;;;*** ;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el" -;;;;;; (17383 13296)) +;;;;;; (17383 32177)) ;;; Generated autoloads from net/snmp-mode.el (autoload (quote snmp-mode) "snmp-mode" "\ @@ -24145,7 +24443,7 @@ then `snmpv2-mode-hook'. ;;;### (autoloads (solar-equinoxes-solstices sunrise-sunset calendar-location-name ;;;;;; calendar-longitude calendar-latitude calendar-time-display-form) -;;;;;; "solar" "calendar/solar.el" (17385 41891)) +;;;;;; "solar" "calendar/solar.el" (17397 61548)) ;;; Generated autoloads from calendar/solar.el (defvar calendar-time-display-form (quote (12-hours ":" minutes am-pm (if time-zone " (") time-zone (if time-zone ")"))) "\ @@ -24216,8 +24514,8 @@ Requires floating point. ;;;*** -;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (17382 -;;;;;; 1892)) +;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (17383 +;;;;;; 32183)) ;;; Generated autoloads from play/solitaire.el (autoload (quote solitaire) "solitaire" "\ @@ -24294,7 +24592,7 @@ Pick your favourite shortcuts: ;;;### (autoloads (reverse-region sort-columns sort-regexp-fields ;;;;;; sort-fields sort-numeric-fields sort-pages sort-paragraphs -;;;;;; sort-lines sort-subr) "sort" "sort.el" (17434 1454)) +;;;;;; sort-lines sort-subr) "sort" "sort.el" (17466 42707)) ;;; Generated autoloads from sort.el (autoload (quote sort-subr) "sort" "\ @@ -24436,8 +24734,8 @@ From a program takes two point or marker arguments, BEG and END. ;;;*** -;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (17440 -;;;;;; 25582)) +;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (17457 +;;;;;; 37503)) ;;; Generated autoloads from gnus/spam.el (autoload (quote spam-initialize) "spam" "\ @@ -24449,7 +24747,7 @@ Install the spam.el hooks and do other initialization ;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file ;;;;;; spam-report-url-ping-mm-url spam-report-process-queue) "spam-report" -;;;;;; "gnus/spam-report.el" (17385 29998)) +;;;;;; "gnus/spam-report.el" (17397 61557)) ;;; Generated autoloads from gnus/spam-report.el (autoload (quote spam-report-process-queue) "spam-report" "\ @@ -24492,7 +24790,7 @@ Spam reports will be queued with the method used when ;;;*** ;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar" -;;;;;; "speedbar.el" (17412 50667)) +;;;;;; "speedbar.el" (17578 34773)) ;;; Generated autoloads from speedbar.el (defalias (quote speedbar) (quote speedbar-frame-mode)) @@ -24517,7 +24815,7 @@ selected. If the speedbar frame is active, then select the attached frame. ;;;*** ;;;### (autoloads (spell-string spell-region spell-word spell-buffer) -;;;;;; "spell" "textmodes/spell.el" (17383 15659)) +;;;;;; "spell" "textmodes/spell.el" (17383 32189)) ;;; Generated autoloads from textmodes/spell.el (put (quote spell-filter) (quote risky-local-variable) t) @@ -24553,8 +24851,8 @@ Check spelling of string supplied as argument. ;;;*** -;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (17382 -;;;;;; 1892)) +;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (17383 +;;;;;; 32183)) ;;; Generated autoloads from play/spook.el (autoload (quote spook) "spook" "\ @@ -24572,8 +24870,8 @@ Return a vector containing the lines from `spook-phrases-file'. ;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres ;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix ;;;;;; sql-sybase sql-oracle sql-product-interactive sql-mode sql-help -;;;;;; sql-add-product-keywords) "sql" "progmodes/sql.el" (17388 -;;;;;; 22062)) +;;;;;; sql-add-product-keywords) "sql" "progmodes/sql.el" (17397 +;;;;;; 61572)) ;;; Generated autoloads from progmodes/sql.el (autoload (quote sql-add-product-keywords) "sql" "\ @@ -25005,7 +25303,7 @@ input. See `sql-interactive-mode'. ;;;;;; strokes-help strokes-describe-stroke strokes-do-complex-stroke ;;;;;; strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke ;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (17383 -;;;;;; 24127)) +;;;;;; 32122)) ;;; Generated autoloads from strokes.el (autoload (quote strokes-global-set-stroke) "strokes" "\ @@ -25082,8 +25380,6 @@ use either \\[customize] or the function `strokes-mode'.") (custom-autoload (quote strokes-mode) "strokes") -(put (quote strokes-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote strokes-mode) "strokes" "\ Toggle Strokes global minor mode.\\ With ARG, turn strokes on if and only if ARG is positive. @@ -25116,7 +25412,7 @@ Read a complex stroke and insert its glyph into the current buffer. ;;;*** ;;;### (autoloads (studlify-buffer studlify-word studlify-region) -;;;;;; "studly" "play/studly.el" (17075 55479)) +;;;;;; "studly" "play/studly.el" (16221 3781)) ;;; Generated autoloads from play/studly.el (autoload (quote studlify-region) "studly" "\ @@ -25136,7 +25432,7 @@ Studlify-case the current buffer. ;;;*** -;;;### (autoloads (locate-library) "subr" "subr.el" (17410 23908)) +;;;### (autoloads (locate-library) "subr" "subr.el" (17590 36099)) ;;; Generated autoloads from subr.el (autoload (quote locate-library) "subr" "\ @@ -25158,7 +25454,7 @@ and the file name is displayed in the echo area. ;;;*** ;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el" -;;;;;; (17383 16812)) +;;;;;; (17383 32170)) ;;; Generated autoloads from mail/supercite.el (autoload (quote sc-cite-original) "supercite" "\ @@ -25201,8 +25497,6 @@ use either \\[customize] or the function `t-mouse-mode'.") (custom-autoload (quote t-mouse-mode) "t-mouse") -(put (quote t-mouse-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote t-mouse-mode) "t-mouse" "\ Toggle t-mouse mode. With prefix arg, turn t-mouse mode on iff arg is positive. @@ -25213,7 +25507,7 @@ Turn it on to use emacs mouse commands, and off to use t-mouse commands. ;;;*** -;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (17383 24127)) +;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (17383 32122)) ;;; Generated autoloads from tabify.el (autoload (quote untabify) "tabify" "\ @@ -25248,7 +25542,7 @@ The variable `tab-width' controls the spacing of tab stops. ;;;;;; table-recognize table-insert-row-column table-insert-column ;;;;;; table-insert-row table-insert table-point-left-cell-hook ;;;;;; table-point-entered-cell-hook table-load-hook table-cell-map-hook) -;;;;;; "table" "textmodes/table.el" (17378 11759)) +;;;;;; "table" "textmodes/table.el" (17578 34780)) ;;; Generated autoloads from textmodes/table.el (defvar table-cell-map-hook nil "\ @@ -25836,7 +26130,7 @@ converts a table into plain text without frames. It is a companion to ;;;*** -;;;### (autoloads (talk-connect) "talk" "talk.el" (17383 24127)) +;;;### (autoloads (talk-connect) "talk" "talk.el" (17383 32122)) ;;; Generated autoloads from talk.el (autoload (quote talk-connect) "talk" "\ @@ -25846,7 +26140,7 @@ Connect to display DISPLAY for the Emacs talk group. ;;;*** -;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (17383 24127)) +;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (17578 34774)) ;;; Generated autoloads from tar-mode.el (autoload (quote tar-mode) "tar-mode" "\ @@ -25870,7 +26164,7 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'. ;;;*** ;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl" -;;;;;; "progmodes/tcl.el" (17348 7449)) +;;;;;; "progmodes/tcl.el" (17484 52437)) ;;; Generated autoloads from progmodes/tcl.el (autoload (quote tcl-mode) "tcl" "\ @@ -25921,7 +26215,7 @@ Prefix argument means invert sense of `tcl-use-smart-word-finder'. ;;;*** -;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (17383 13296)) +;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (17383 32177)) ;;; Generated autoloads from net/telnet.el (add-hook 'same-window-regexps "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)") @@ -25948,8 +26242,8 @@ Normally input is edited in Emacs and sent a line at a time. ;;;*** -;;;### (autoloads (ansi-term term make-term) "term" "term.el" (17354 -;;;;;; 44750)) +;;;### (autoloads (ansi-term term make-term) "term" "term.el" (17578 +;;;;;; 34774)) ;;; Generated autoloads from term.el (autoload (quote make-term) "term" "\ @@ -25978,7 +26272,7 @@ Start a terminal-emulator in a new buffer. ;;;*** ;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (17383 -;;;;;; 24127)) +;;;;;; 32123)) ;;; Generated autoloads from terminal.el (autoload (quote terminal-emulator) "terminal" "\ @@ -26015,7 +26309,7 @@ subprocess started. ;;;*** ;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el" -;;;;;; (17383 16119)) +;;;;;; (17383 32141)) ;;; Generated autoloads from emacs-lisp/testcover.el (autoload (quote testcover-this-defun) "testcover" "\ @@ -26025,7 +26319,7 @@ Start coverage on function under point. ;;;*** -;;;### (autoloads (tetris) "tetris" "play/tetris.el" (17382 1892)) +;;;### (autoloads (tetris) "tetris" "play/tetris.el" (17383 32183)) ;;; Generated autoloads from play/tetris.el (autoload (quote tetris) "tetris" "\ @@ -26056,7 +26350,7 @@ tetris-mode keybindings: ;;;;;; tex-start-commands tex-start-options slitex-run-command latex-run-command ;;;;;; tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp ;;;;;; tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el" -;;;;;; (17383 15659)) +;;;;;; (17578 34780)) ;;; Generated autoloads from textmodes/tex-mode.el (defvar tex-shell-file-name nil "\ @@ -26358,7 +26652,7 @@ Major mode to edit DocTeX files. ;;;*** ;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer) -;;;;;; "texinfmt" "textmodes/texinfmt.el" (17383 15659)) +;;;;;; "texinfmt" "textmodes/texinfmt.el" (17590 36100)) ;;; Generated autoloads from textmodes/texinfmt.el (autoload (quote texinfo-format-buffer) "texinfmt" "\ @@ -26398,7 +26692,7 @@ if large. You can use Info-split to do this manually. ;;;*** ;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote) -;;;;;; "texinfo" "textmodes/texinfo.el" (17383 15659)) +;;;;;; "texinfo" "textmodes/texinfo.el" (17383 32190)) ;;; Generated autoloads from textmodes/texinfo.el (defvar texinfo-open-quote "``" "\ @@ -26485,7 +26779,7 @@ value of `texinfo-mode-hook'. ;;;### (autoloads (thai-auto-composition-mode thai-composition-function ;;;;;; thai-post-read-conversion thai-compose-buffer thai-compose-string ;;;;;; thai-compose-region) "thai-util" "language/thai-util.el" -;;;;;; (17185 27569)) +;;;;;; (17171 19474)) ;;; Generated autoloads from language/thai-util.el (autoload (quote thai-compose-region) "thai-util" "\ @@ -26529,11 +26823,11 @@ Minor mode for automatically correct Thai character composition. ;;;### (autoloads (list-at-point number-at-point symbol-at-point ;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing) -;;;;;; "thingatpt" "thingatpt.el" (17383 24127)) +;;;;;; "thingatpt" "thingatpt.el" (17582 28846)) ;;; Generated autoloads from thingatpt.el (autoload (quote forward-thing) "thingatpt" "\ -Move forward to the end of the next THING. +Move forward to the end of the Nth next THING. \(fn THING &optional N)" nil nil) @@ -26586,7 +26880,7 @@ Not documented ;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked ;;;;;; thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el" -;;;;;; (17383 24127)) +;;;;;; (17590 36099)) ;;; Generated autoloads from thumbs.el (autoload (quote thumbs-find-thumb) "thumbs" "\ @@ -26625,7 +26919,7 @@ In dired, call the setroot program on the image at point. ;;;;;; tibetan-composition-function tibetan-decompose-string tibetan-decompose-region ;;;;;; tibetan-compose-region tibetan-compose-string tibetan-transcription-to-tibetan ;;;;;; tibetan-tibetan-to-transcription tibetan-char-p) "tibet-util" -;;;;;; "language/tibet-util.el" (17102 18781)) +;;;;;; "language/tibet-util.el" (17097 33527)) ;;; Generated autoloads from language/tibet-util.el (autoload (quote tibetan-char-p) "tibet-util" "\ @@ -26704,7 +26998,7 @@ Not documented ;;;*** ;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el" -;;;;;; (17383 15659)) +;;;;;; (17383 32190)) ;;; Generated autoloads from textmodes/tildify.el (autoload (quote tildify-region) "tildify" "\ @@ -26728,7 +27022,7 @@ This function performs no refilling of the changed text. ;;;*** ;;;### (autoloads (display-time-mode display-time display-time-day-and-date) -;;;;;; "time" "time.el" (17383 24127)) +;;;;;; "time" "time.el" (17383 32124)) ;;; Generated autoloads from time.el (defvar display-time-day-and-date nil "\ @@ -26753,8 +27047,6 @@ use either \\[customize] or the function `display-time-mode'.") (custom-autoload (quote display-time-mode) "time") -(put (quote display-time-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote display-time-mode) "time" "\ Toggle display of time, load level, and mail flag in mode lines. With a numeric arg, enable this display if arg is positive. @@ -26771,8 +27063,8 @@ This runs the normal hook `display-time-hook' after each update. ;;;### (autoloads (safe-date-to-time time-to-days time-to-day-in-year ;;;;;; date-leap-year-p days-between date-to-day time-add time-subtract ;;;;;; time-since days-to-time time-less-p seconds-to-time time-to-seconds -;;;;;; date-to-time) "time-date" "calendar/time-date.el" (17385 -;;;;;; 41891)) +;;;;;; date-to-time) "time-date" "calendar/time-date.el" (17397 +;;;;;; 61548)) ;;; Generated autoloads from calendar/time-date.el (autoload (quote date-to-time) "time-date" "\ @@ -26858,8 +27150,15 @@ If DATE is malformed, return a time value of zeros. ;;;*** ;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp" -;;;;;; "time-stamp.el" (17383 24127)) +;;;;;; "time-stamp.el" (17487 53545)) ;;; Generated autoloads from time-stamp.el +(put 'time-stamp-format 'safe-local-variable 'stringp) +(put 'time-stamp-line-limit 'safe-local-variable 'integerp) +(put 'time-stamp-start 'safe-local-variable 'stringp) +(put 'time-stamp-end 'safe-local-variable 'stringp) +(put 'time-stamp-inserts-lines 'safe-local-variable 'symbolp) +(put 'time-stamp-count 'safe-local-variable 'integerp) +(put 'time-stamp-pattern 'safe-local-variable 'stringp) (autoload (quote time-stamp) "time-stamp" "\ Update the time stamp string(s) in the buffer. @@ -26894,7 +27193,7 @@ With ARG, turn time stamping on if and only if arg is positive. ;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out ;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in ;;;;;; timeclock-modeline-display) "timeclock" "calendar/timeclock.el" -;;;;;; (17385 41891)) +;;;;;; (17397 61548)) ;;; Generated autoloads from calendar/timeclock.el (autoload (quote timeclock-modeline-display) "timeclock" "\ @@ -26995,7 +27294,7 @@ relative only to the time worked today, and not to past time. ;;;### (autoloads (with-timeout run-with-idle-timer add-timeout run-with-timer ;;;;;; run-at-time cancel-function-timers cancel-timer) "timer" -;;;;;; "emacs-lisp/timer.el" (17383 16119)) +;;;;;; "emacs-lisp/timer.el" (17383 32142)) ;;; Generated autoloads from emacs-lisp/timer.el (defalias (quote disable-timeout) (quote cancel-timer)) @@ -27066,7 +27365,7 @@ be detected. ;;;*** ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv" -;;;;;; "international/titdic-cnv.el" (17102 18762)) +;;;;;; "international/titdic-cnv.el" (17106 41306)) ;;; Generated autoloads from international/titdic-cnv.el (autoload (quote titdic-convert) "titdic-cnv" "\ @@ -27089,8 +27388,8 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\". ;;;*** ;;;### (autoloads (tamil-composition-function tamil-post-read-conversion -;;;;;; tamil-compose-region) "tml-util" "language/tml-util.el" (17102 -;;;;;; 18782)) +;;;;;; tamil-compose-region) "tml-util" "language/tml-util.el" (17097 +;;;;;; 33527)) ;;; Generated autoloads from language/tml-util.el (autoload (quote tamil-compose-region) "tml-util" "\ @@ -27113,7 +27412,7 @@ PATTERN regexp. ;;;*** ;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm" -;;;;;; "tmm.el" (17383 24127)) +;;;;;; "tmm.el" (17383 32124)) ;;; Generated autoloads from tmm.el (define-key global-map "\M-`" 'tmm-menubar) (define-key global-map [f10] 'tmm-menubar) @@ -27154,7 +27453,7 @@ Its value should be an event that has a binding in MENU. ;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities ;;;;;; todo-insert-item todo-add-item-non-interactively todo-add-category) -;;;;;; "todo-mode" "calendar/todo-mode.el" (17385 41891)) +;;;;;; "todo-mode" "calendar/todo-mode.el" (17397 61548)) ;;; Generated autoloads from calendar/todo-mode.el (autoload (quote todo-add-category) "todo-mode" "\ @@ -27215,7 +27514,7 @@ Show TODO list. ;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu ;;;;;; tool-bar-local-item tool-bar-add-item) "tool-bar" "tool-bar.el" -;;;;;; (17383 24127)) +;;;;;; (17498 30594)) ;;; Generated autoloads from tool-bar.el (put (quote tool-bar-mode) (quote standard-value) (quote (t))) @@ -27282,7 +27581,7 @@ holds a keymap. ;;;*** ;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el" -;;;;;; (17383 13537)) +;;;;;; (17383 32144)) ;;; Generated autoloads from emulation/tpu-edt.el (defvar tpu-edt-mode nil "\ @@ -27293,8 +27592,6 @@ use either \\[customize] or the function `tpu-edt-mode'.") (custom-autoload (quote tpu-edt-mode) "tpu-edt") -(put (quote tpu-edt-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote tpu-edt-mode) "tpu-edt" "\ TPU/edt emulation. @@ -27310,7 +27607,7 @@ Turn on TPU/edt emulation. ;;;*** ;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins) -;;;;;; "tpu-extras" "emulation/tpu-extras.el" (17383 13537)) +;;;;;; "tpu-extras" "emulation/tpu-extras.el" (17383 32144)) ;;; Generated autoloads from emulation/tpu-extras.el (autoload (quote tpu-set-scroll-margins) "tpu-extras" "\ @@ -27330,7 +27627,7 @@ Constrain the cursor to the flow of the text. ;;;*** -;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (17383 16119)) +;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (17484 52427)) ;;; Generated autoloads from emacs-lisp/tq.el (autoload (quote tq-create) "tq" "\ @@ -27344,7 +27641,7 @@ to a tcp server on another machine. ;;;*** ;;;### (autoloads (trace-function-background trace-function trace-buffer) -;;;;;; "trace" "emacs-lisp/trace.el" (17383 16119)) +;;;;;; "trace" "emacs-lisp/trace.el" (17383 32142)) ;;; Generated autoloads from emacs-lisp/trace.el (defvar trace-buffer "*trace-output*" "\ @@ -27375,10 +27672,10 @@ the window or buffer configuration at all. ;;;*** -;;;### (autoloads (tramp-unload-tramp tramp-unload-file-name-handler-alist -;;;;;; tramp-completion-file-name-handler tramp-file-name-handler -;;;;;; tramp-completion-file-name-regexp tramp-file-name-regexp) -;;;;;; "tramp" "net/tramp.el" (17391 39172)) +;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion +;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers +;;;;;; tramp-file-name-handler tramp-completion-file-name-regexp +;;;;;; tramp-file-name-regexp) "tramp" "net/tramp.el" (17578 34778)) ;;; Generated autoloads from net/tramp.el (defvar tramp-unified-filenames (not (featurep (quote xemacs))) "\ @@ -27436,36 +27733,62 @@ Also see `tramp-file-name-structure'.") (custom-autoload (quote tramp-completion-file-name-regexp) "tramp") +(defconst tramp-completion-file-name-handler-alist (quote ((file-name-all-completions . tramp-completion-handle-file-name-all-completions) (file-name-completion . tramp-completion-handle-file-name-completion))) "\ +Alist of completion handler functions. +Used for file names matching `tramp-file-name-regexp'. Operations not +mentioned here will be handled by `tramp-file-name-handler-alist' or the +normal Emacs functions.") + +(defun tramp-run-real-handler (operation args) "\ +Invoke normal file name handler for OPERATION. +First arg specifies the OPERATION, second arg is a list of arguments to +pass to the OPERATION." (let* ((inhibit-file-name-handlers (\` (tramp-file-name-handler tramp-completion-file-name-handler cygwin-mount-name-hook-function cygwin-mount-map-drive-hook-function \, (and (eq inhibit-file-name-operation operation) inhibit-file-name-handlers)))) (inhibit-file-name-operation operation)) (apply operation args))) + +(defun tramp-completion-run-real-handler (operation args) "\ +Invoke `tramp-file-name-handler' for OPERATION. +First arg specifies the OPERATION, second arg is a list of arguments to +pass to the OPERATION." (let* ((inhibit-file-name-handlers (\` (tramp-completion-file-name-handler cygwin-mount-name-hook-function cygwin-mount-map-drive-hook-function \, (and (eq inhibit-file-name-operation operation) inhibit-file-name-handlers)))) (inhibit-file-name-operation operation)) (apply operation args))) + (autoload (quote tramp-file-name-handler) "tramp" "\ Invoke Tramp file name handler. Falls back to normal file name handler if no tramp file name handler exists. \(fn OPERATION &rest ARGS)" nil nil) -(autoload (quote tramp-completion-file-name-handler) "tramp" "\ +(defun tramp-completion-file-name-handler (operation &rest args) "\ Invoke tramp file name completion handler. -Falls back to normal file name handler if no tramp file name handler exists. +Falls back to normal file name handler if no tramp file name handler exists." (let ((fn (assoc operation tramp-completion-file-name-handler-alist))) (if fn (save-match-data (apply (cdr fn) args)) (tramp-completion-run-real-handler operation args)))) -\(fn OPERATION &rest ARGS)" nil nil) +(defsubst tramp-register-file-name-handlers nil "\ +Add tramp file name handlers to `file-name-handler-alist'." (add-to-list (quote file-name-handler-alist) (cons tramp-file-name-regexp (quote tramp-file-name-handler))) (when (or partial-completion-mode (featurep (quote ido))) (add-to-list (quote file-name-handler-alist) (cons tramp-completion-file-name-regexp (quote tramp-completion-file-name-handler))) (put (quote tramp-completion-file-name-handler) (quote safe-magic) t)) (let ((jka (rassoc (quote jka-compr-handler) file-name-handler-alist))) (when jka (setq file-name-handler-alist (cons jka (delete jka file-name-handler-alist)))))) +(add-hook + 'after-init-hook + '(lambda () (tramp-register-file-name-handlers))) -(put (quote tramp-completion-file-name-handler) (quote safe-magic) t) - -(add-to-list (quote file-name-handler-alist) (cons tramp-file-name-regexp (quote tramp-file-name-handler))) - -(autoload (quote tramp-unload-file-name-handler-alist) "tramp" "\ +(autoload (quote tramp-unload-file-name-handlers) "tramp" "\ Not documented \(fn)" nil nil) +(autoload (quote tramp-completion-handle-file-name-all-completions) "tramp" "\ +Like `file-name-all-completions' for partial tramp files. + +\(fn FILENAME DIRECTORY)" nil nil) + +(autoload (quote tramp-completion-handle-file-name-completion) "tramp" "\ +Like `file-name-completion' for tramp files. + +\(fn FILENAME DIRECTORY)" nil nil) + (autoload (quote tramp-unload-tramp) "tramp" "\ -Not documented +Discard Tramp from loading remote files. \(fn)" t nil) ;;;*** ;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el" -;;;;;; (17364 3828)) +;;;;;; (17365 2740)) ;;; Generated autoloads from net/tramp-ftp.el (autoload (quote tramp-ftp-enable-ange-ftp) "tramp-ftp" "\ @@ -27476,12 +27799,12 @@ Not documented ;;;*** ;;;### (autoloads (tumme-mark-tagged-files tumme-dired-comment-files -;;;;;; tumme-display-dired-image tumme-dired-display-external tumme-display-thumb +;;;;;; tumme-dired-display-image tumme-dired-display-external tumme-display-thumb ;;;;;; tumme-display-thumbs-append tumme-setup-dired-keybindings -;;;;;; tumme-jump-thumbnail-buffer tumme-tag-remove tumme-tag-files -;;;;;; tumme-display-thumbs tumme-dired-with-window-configuration -;;;;;; tumme-dired-insert-marked-thumbs) "tumme" "tumme.el" (17418 -;;;;;; 58118)) +;;;;;; tumme-jump-thumbnail-buffer tumme-delete-tag tumme-tag-files +;;;;;; tumme-show-all-from-dir tumme-display-thumbs tumme-dired-with-window-configuration +;;;;;; tumme-dired-insert-marked-thumbs) "tumme" "tumme.el" (17590 +;;;;;; 36099)) ;;; Generated autoloads from tumme.el (autoload (quote tumme-dired-insert-marked-thumbs) "tumme" "\ @@ -27523,7 +27846,22 @@ you have the dired buffer in the left window and the With optional argument APPEND, append thumbnail to thumbnail buffer instead of erasing it first. -\(fn &optional ARG APPEND)" t nil) +Option argument DO-NOT-POP controls if `pop-to-buffer' should be +used or not. If non-nil, use `display-buffer' instead of +`pop-to-buffer'. This is used from functions like +`tumme-next-line-and-display' and +`tumme-previous-line-and-display' where we do not want the +thumbnail buffer to be selected. + +\(fn &optional ARG APPEND DO-NOT-POP)" t nil) + +(autoload (quote tumme-show-all-from-dir) "tumme" "\ +Make a preview buffer for all images in DIR and display it. +If the number of files in DIR matching `image-file-name-regexp' +exceeds `tumme-show-all-from-dir-max-files', a warning will be +displayed. + +\(fn DIR)" t nil) (defalias (quote tumme) (quote tumme-show-all-from-dir)) @@ -27532,7 +27870,7 @@ Tag marked file(s) in dired. With prefix ARG, tag file at point. \(fn ARG)" t nil) -(autoload (quote tumme-tag-remove) "tumme" "\ +(autoload (quote tumme-delete-tag) "tumme" "\ Remove tag for selected file(s). With prefix argument ARG, remove tag from file at point. @@ -27565,7 +27903,7 @@ Display file at point using an external viewer. \(fn)" t nil) -(autoload (quote tumme-display-dired-image) "tumme" "\ +(autoload (quote tumme-dired-display-image) "tumme" "\ Display current image file. See documentation for `tumme-display-image' for more information. With prefix argument ARG, display image in its original size. @@ -27590,7 +27928,7 @@ matching tags will be marked in the dired buffer. ;;;*** ;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column" -;;;;;; "textmodes/two-column.el" (17383 15659)) +;;;;;; "textmodes/two-column.el" (17383 32190)) ;;; Generated autoloads from textmodes/two-column.el (autoload '2C-command "two-column" () t 'keymap) (global-set-key "\C-x6" '2C-command) @@ -27641,7 +27979,7 @@ First column's text sSs Second column's text ;;;;;; type-break type-break-mode type-break-keystroke-threshold ;;;;;; type-break-good-break-interval type-break-good-rest-interval ;;;;;; type-break-interval type-break-mode) "type-break" "type-break.el" -;;;;;; (17383 24127)) +;;;;;; (17383 32124)) ;;; Generated autoloads from type-break.el (defvar type-break-mode nil "\ @@ -27824,7 +28162,7 @@ FRAC should be the inverse of the fractional value; for example, a value of ;;;*** ;;;### (autoloads (ununderline-region underline-region) "underline" -;;;;;; "textmodes/underline.el" (17383 15659)) +;;;;;; "textmodes/underline.el" (17383 32191)) ;;; Generated autoloads from textmodes/underline.el (autoload (quote underline-region) "underline" "\ @@ -27845,7 +28183,7 @@ which specify the range to operate on. ;;;*** ;;;### (autoloads (unforward-rmail-message undigestify-rmail-message) -;;;;;; "undigest" "mail/undigest.el" (17383 16812)) +;;;;;; "undigest" "mail/undigest.el" (17383 32171)) ;;; Generated autoloads from mail/undigest.el (autoload (quote undigestify-rmail-message) "undigest" "\ @@ -27864,7 +28202,7 @@ following the containing message. ;;;*** ;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el" -;;;;;; (17383 16812)) +;;;;;; (17383 32171)) ;;; Generated autoloads from mail/unrmail.el (autoload (quote batch-unrmail) "unrmail" "\ @@ -27883,8 +28221,8 @@ Convert Rmail file FILE to system inbox format file TO-FILE. ;;;*** -;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (17403 -;;;;;; 28668)) +;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (17404 +;;;;;; 53185)) ;;; Generated autoloads from emacs-lisp/unsafep.el (autoload (quote unsafep) "unsafep" "\ @@ -27897,7 +28235,7 @@ of symbols with local bindings. ;;;*** ;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url" -;;;;;; "url/url.el" (17402 14976)) +;;;;;; "url/url.el" (17365 14342)) ;;; Generated autoloads from url/url.el (autoload (quote url-retrieve) "url" "\ @@ -27927,7 +28265,7 @@ no further processing). URL is either a string or a parsed URL. ;;;*** ;;;### (autoloads (url-register-auth-scheme url-get-authentication) -;;;;;; "url-auth" "url/url-auth.el" (17382 34555)) +;;;;;; "url-auth" "url/url-auth.el" (17383 32191)) ;;; Generated autoloads from url/url-auth.el (autoload (quote url-get-authentication) "url-auth" "\ @@ -27969,8 +28307,8 @@ RATING a rating between 1 and 10 of the strength of the authentication. ;;;*** ;;;### (autoloads (url-cache-expired url-cache-extract url-is-cached -;;;;;; url-store-in-cache) "url-cache" "url/url-cache.el" (17337 -;;;;;; 11067)) +;;;;;; url-store-in-cache) "url-cache" "url/url-cache.el" (17338 +;;;;;; 41822)) ;;; Generated autoloads from url/url-cache.el (autoload (quote url-store-in-cache) "url-cache" "\ @@ -27995,7 +28333,7 @@ Return t iff a cached file has expired. ;;;*** -;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (17382 34555)) +;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (17383 32191)) ;;; Generated autoloads from url/url-cid.el (autoload (quote url-cid) "url-cid" "\ @@ -28006,7 +28344,7 @@ Not documented ;;;*** ;;;### (autoloads (url-dav-vc-registered url-dav-supported-p) "url-dav" -;;;;;; "url/url-dav.el" (17382 34555)) +;;;;;; "url/url-dav.el" (17383 32191)) ;;; Generated autoloads from url/url-dav.el (autoload (quote url-dav-supported-p) "url-dav" "\ @@ -28021,8 +28359,8 @@ Not documented ;;;*** -;;;### (autoloads (url-file) "url-file" "url/url-file.el" (17382 -;;;;;; 34555)) +;;;### (autoloads (url-file) "url-file" "url/url-file.el" (17383 +;;;;;; 32191)) ;;; Generated autoloads from url/url-file.el (autoload (quote url-file) "url-file" "\ @@ -28033,7 +28371,7 @@ Handle file: and ftp: URLs. ;;;*** ;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw" -;;;;;; "url/url-gw.el" (17382 34555)) +;;;;;; "url/url-gw.el" (17487 55937)) ;;; Generated autoloads from url/url-gw.el (autoload (quote url-gateway-nslookup-host) "url-gw" "\ @@ -28051,8 +28389,8 @@ Will not make a connection if `url-gateway-unplugged' is non-nil. ;;;*** ;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file -;;;;;; url-handler-mode) "url-handlers" "url/url-handlers.el" (17337 -;;;;;; 11067)) +;;;;;; url-handler-mode) "url-handlers" "url/url-handlers.el" (17457 +;;;;;; 37507)) ;;; Generated autoloads from url/url-handlers.el (defvar url-handler-mode nil "\ @@ -28063,8 +28401,6 @@ use either \\[customize] or the function `url-handler-mode'.") (custom-autoload (quote url-handler-mode) "url-handlers") -(put (quote url-handler-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote url-handler-mode) "url-handlers" "\ Use URL to handle URL-like file names. @@ -28097,7 +28433,7 @@ Not documented ;;;*** ;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p -;;;;;; url-http) "url-http" "url/url-http.el" (17421 49420)) +;;;;;; url-http) "url-http" "url/url-http.el" (17515 39530)) ;;; Generated autoloads from url/url-http.el (autoload (quote url-http) "url-http" "\ @@ -28150,7 +28486,7 @@ p3p ;;;*** -;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (17448 18899)) +;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (17457 37507)) ;;; Generated autoloads from url/url-irc.el (autoload (quote url-irc) "url-irc" "\ @@ -28160,8 +28496,8 @@ Not documented ;;;*** -;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (17382 -;;;;;; 34555)) +;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (17383 +;;;;;; 32192)) ;;; Generated autoloads from url/url-ldap.el (autoload (quote url-ldap) "url-ldap" "\ @@ -28175,7 +28511,7 @@ URL can be a URL string, or a URL vector of the type returned by ;;;*** ;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el" -;;;;;; (17382 34555)) +;;;;;; (17383 32192)) ;;; Generated autoloads from url/url-mailto.el (autoload (quote url-mail) "url-mailto" "\ @@ -28191,7 +28527,7 @@ Handle the mailto: URL syntax. ;;;*** ;;;### (autoloads (url-data url-generic-emulator-loader url-info -;;;;;; url-man) "url-misc" "url/url-misc.el" (17382 34555)) +;;;;;; url-man) "url-misc" "url/url-misc.el" (17383 32192)) ;;; Generated autoloads from url/url-misc.el (autoload (quote url-man) "url-misc" "\ @@ -28223,7 +28559,7 @@ Fetch a data URL (RFC 2397). ;;;*** ;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el" -;;;;;; (17358 30050)) +;;;;;; (17358 28606)) ;;; Generated autoloads from url/url-news.el (autoload (quote url-news) "url-news" "\ @@ -28240,7 +28576,7 @@ Not documented ;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable ;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el" -;;;;;; (17382 34555)) +;;;;;; (17383 32192)) ;;; Generated autoloads from url/url-ns.el (autoload (quote isPlainHostName) "url-ns" "\ @@ -28281,7 +28617,7 @@ Not documented ;;;*** ;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse" -;;;;;; "url/url-parse.el" (17382 34555)) +;;;;;; "url/url-parse.el" (17383 32192)) ;;; Generated autoloads from url/url-parse.el (autoload (quote url-recreate-url) "url-parse" "\ @@ -28299,7 +28635,7 @@ Format is: ;;;*** ;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el" -;;;;;; (17348 7449)) +;;;;;; (17348 1513)) ;;; Generated autoloads from url/url-privacy.el (autoload (quote url-setup-privacy-info) "url-privacy" "\ @@ -28315,7 +28651,7 @@ Setup variables that expose info about you and your system. ;;;;;; url-strip-leading-spaces url-eat-trailing-space url-get-normalized-date ;;;;;; url-lazy-message url-normalize-url url-insert-entities-in-string ;;;;;; url-parse-args url-debug url-debug) "url-util" "url/url-util.el" -;;;;;; (17382 34555)) +;;;;;; (17383 32193)) ;;; Generated autoloads from url/url-util.el (defvar url-debug nil "\ @@ -28440,7 +28776,7 @@ This uses `url-current-object', set locally to the buffer. ;;;*** ;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock) -;;;;;; "userlock" "userlock.el" (17383 24127)) +;;;;;; "userlock" "userlock.el" (17383 32125)) ;;; Generated autoloads from userlock.el (autoload (quote ask-user-about-lock) "userlock" "\ @@ -28468,7 +28804,7 @@ The buffer in question is current when this function is called. ;;;*** -;;;### (autoloads nil "utf-7" "international/utf-7.el" (17245 4870)) +;;;### (autoloads nil "utf-7" "international/utf-7.el" (17246 18006)) ;;; Generated autoloads from international/utf-7.el (autoload-coding-system 'utf-7 '(require 'utf-7)) @@ -28476,7 +28812,7 @@ The buffer in question is current when this function is called. ;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal ;;;;;; uudecode-decode-region-external) "uudecode" "gnus/uudecode.el" -;;;;;; (17382 1051)) +;;;;;; (17578 34777)) ;;; Generated autoloads from gnus/uudecode.el (autoload (quote uudecode-decode-region-external) "uudecode" "\ @@ -28506,7 +28842,7 @@ If FILE-NAME is non-nil, save the result to FILE-NAME. ;;;;;; vc-directory vc-merge vc-insert-headers vc-version-other-window ;;;;;; vc-diff vc-register vc-next-action vc-do-command edit-vc-file ;;;;;; with-vc-file vc-branch-part vc-trunk-p vc-before-checkin-hook -;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc.el" (17384 53717)) +;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc.el" (17590 36099)) ;;; Generated autoloads from vc.el (defvar vc-checkout-hook nil "\ @@ -28794,7 +29130,7 @@ colors. `vc-annotate-background' specifies the background color. ;;;*** -;;;### (autoloads nil "vc-arch" "vc-arch.el" (17383 24127)) +;;;### (autoloads nil "vc-arch" "vc-arch.el" (17383 32125)) ;;; Generated autoloads from vc-arch.el (defun vc-arch-registered (file) (if (vc-find-root file "{arch}/=tagging-method") @@ -28804,7 +29140,7 @@ colors. `vc-annotate-background' specifies the background color. ;;;*** -;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (17383 24127)) +;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (17383 32125)) ;;; Generated autoloads from vc-cvs.el (defun vc-cvs-registered (f) (when (file-readable-p (expand-file-name @@ -28814,7 +29150,7 @@ colors. `vc-annotate-background' specifies the background color. ;;;*** -;;;### (autoloads nil "vc-mcvs" "vc-mcvs.el" (17383 24127)) +;;;### (autoloads nil "vc-mcvs" "vc-mcvs.el" (17383 32125)) ;;; Generated autoloads from vc-mcvs.el (defun vc-mcvs-registered (file) (if (vc-find-root file "MCVS/CVS") @@ -28825,7 +29161,7 @@ colors. `vc-annotate-background' specifies the background color. ;;;*** ;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc-rcs.el" -;;;;;; (17383 24127)) +;;;;;; (17383 32125)) ;;; Generated autoloads from vc-rcs.el (defvar vc-rcs-master-templates (quote ("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\ @@ -28838,7 +29174,7 @@ For a description of possible values, see `vc-check-master-templates'.") ;;;*** ;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc-sccs.el" -;;;;;; (17383 24127)) +;;;;;; (17383 32126)) ;;; Generated autoloads from vc-sccs.el (defvar vc-sccs-master-templates (quote ("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\ @@ -28855,7 +29191,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir) ;;;*** -;;;### (autoloads nil "vc-svn" "vc-svn.el" (17386 47924)) +;;;### (autoloads nil "vc-svn" "vc-svn.el" (17397 61543)) ;;; Generated autoloads from vc-svn.el (defun vc-svn-registered (f) (when (file-readable-p (expand-file-name @@ -28868,7 +29204,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir) ;;;*** ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el" -;;;;;; (17388 22062)) +;;;;;; (17503 24309)) ;;; Generated autoloads from progmodes/vhdl-mode.el (autoload (quote vhdl-mode) "vhdl-mode" "\ @@ -29409,7 +29745,7 @@ Key bindings: ;;;*** -;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (17102 18541)) +;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (17097 33503)) ;;; Generated autoloads from emulation/vi.el (autoload (quote vi-mode) "vi" "\ @@ -29464,7 +29800,7 @@ Syntax table and abbrevs while in vi mode remain as they were in Emacs. ;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion ;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer ;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util" -;;;;;; "language/viet-util.el" (17102 18783)) +;;;;;; "language/viet-util.el" (17097 33527)) ;;; Generated autoloads from language/viet-util.el (autoload (quote viet-encode-viscii-char) "viet-util" "\ @@ -29511,7 +29847,7 @@ Not documented ;;;### (autoloads (View-exit-and-edit view-mode-enter view-mode view-buffer-other-frame ;;;;;; view-buffer-other-window view-buffer view-file-other-frame ;;;;;; view-file-other-window view-file) "view" "view.el" (17383 -;;;;;; 24127)) +;;;;;; 32126)) ;;; Generated autoloads from view.el (defvar view-mode nil "\ @@ -29721,7 +30057,7 @@ Exit View mode and make the current buffer editable. ;;;*** ;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (17383 -;;;;;; 13537)) +;;;;;; 32144)) ;;; Generated autoloads from emulation/vip.el (autoload (quote vip-setup) "vip" "\ @@ -29737,7 +30073,7 @@ Turn on VIP emulation of VI. ;;;*** ;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el" -;;;;;; (17399 58140)) +;;;;;; (17578 34775)) ;;; Generated autoloads from emulation/viper.el (autoload (quote toggle-viper-mode) "viper" "\ @@ -29754,7 +30090,7 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Viper'. ;;;*** ;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el" -;;;;;; (17383 16119)) +;;;;;; (17498 30594)) ;;; Generated autoloads from emacs-lisp/warnings.el (defvar warning-prefix-function nil "\ @@ -29792,6 +30128,7 @@ only, and you can use whatever symbols you like.) LEVEL should be either :debug, :warning, :error, or :emergency \(but see `warning-minimum-level' and `warning-minimum-log-level'). +Default is :warning. :emergency -- a problem that will seriously impair Emacs operation soon if you do not attend to it promptly. @@ -29815,7 +30152,7 @@ Display a warning message made from (format MESSAGE ARGS...). Aside from generating the message with `format', this is equivalent to `display-warning'. -TYPE is the warning type: either a custom group name (a symbol). +TYPE is the warning type: either a custom group name (a symbol), or a list of symbols whose first element is a custom group name. \(The rest of the symbols represent subcategories and can be whatever you like.) @@ -29842,7 +30179,7 @@ this is equivalent to `display-warning', using ;;;*** ;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el" -;;;;;; (17418 2369)) +;;;;;; (17420 36080)) ;;; Generated autoloads from wdired.el (autoload (quote wdired-change-to-wdired-mode) "wdired" "\ @@ -29858,7 +30195,7 @@ See `wdired-mode'. ;;;*** -;;;### (autoloads (webjump) "webjump" "net/webjump.el" (17383 13297)) +;;;### (autoloads (webjump) "webjump" "net/webjump.el" (17383 32178)) ;;; Generated autoloads from net/webjump.el (autoload (quote webjump) "webjump" "\ @@ -29875,7 +30212,7 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke ;;;*** ;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el" -;;;;;; (17388 22062)) +;;;;;; (17397 61573)) ;;; Generated autoloads from progmodes/which-func.el (put 'which-func-format 'risky-local-variable t) (put 'which-func-current 'risky-local-variable t) @@ -29890,8 +30227,6 @@ use either \\[customize] or the function `which-function-mode'.") (custom-autoload (quote which-function-mode) "which-func") -(put (quote which-function-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote which-function-mode) "which-func" "\ Toggle Which Function mode, globally. When Which Function mode is enabled, the current function name is @@ -29909,7 +30244,7 @@ and off otherwise. ;;;;;; whitespace-buffer whitespace-toggle-ateol-check whitespace-toggle-spacetab-check ;;;;;; whitespace-toggle-indent-check whitespace-toggle-trailing-check ;;;;;; whitespace-toggle-leading-check) "whitespace" "whitespace.el" -;;;;;; (17383 24127)) +;;;;;; (17578 34774)) ;;; Generated autoloads from whitespace.el (autoload (quote whitespace-toggle-leading-check) "whitespace" "\ @@ -29979,8 +30314,6 @@ use either \\[customize] or the function `whitespace-global-mode'.") (custom-autoload (quote whitespace-global-mode) "whitespace") -(put (quote whitespace-global-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote whitespace-global-mode) "whitespace" "\ Toggle using Whitespace mode in new buffers. With ARG, turn the mode on iff ARG is positive. @@ -29999,7 +30332,7 @@ This is meant to be added buffer-locally to `write-file-functions'. ;;;*** ;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse -;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (17383 24127)) +;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (17383 32127)) ;;; Generated autoloads from wid-browse.el (autoload (quote widget-browse-at) "wid-browse" "\ @@ -30026,8 +30359,8 @@ With arg, turn widget mode on if and only if arg is positive. ;;;*** ;;;### (autoloads (widget-setup widget-insert widget-delete widget-create -;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (17396 -;;;;;; 41256)) +;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (17397 +;;;;;; 61544)) ;;; Generated autoloads from wid-edit.el (autoload (quote widgetp) "wid-edit" "\ @@ -30072,7 +30405,7 @@ Setup current buffer so editing string widgets works. ;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right ;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (17383 -;;;;;; 24127)) +;;;;;; 32128)) ;;; Generated autoloads from windmove.el (autoload (quote windmove-left) "windmove" "\ @@ -30125,7 +30458,7 @@ Default MODIFIER is 'shift. ;;;*** ;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el" -;;;;;; (17383 24127)) +;;;;;; (17383 32128)) ;;; Generated autoloads from winner.el (defvar winner-mode nil "\ @@ -30144,7 +30477,7 @@ With arg, turn Winner mode on if and only if arg is positive. ;;;*** ;;;### (autoloads (woman-find-file woman-dired-find-file woman) "woman" -;;;;;; "woman.el" (17383 24127)) +;;;;;; "woman.el" (17466 42708)) ;;; Generated autoloads from woman.el (autoload (quote woman) "woman" "\ @@ -30180,7 +30513,7 @@ decompress the file if appropriate. See the documentation for the ;;;*** ;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el" -;;;;;; (17383 13537)) +;;;;;; (17383 32145)) ;;; Generated autoloads from emulation/ws-mode.el (autoload (quote wordstar-mode) "ws-mode" "\ @@ -30293,7 +30626,7 @@ The key bindings are: ;;;*** ;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el" -;;;;;; (17383 24128)) +;;;;;; (17383 32129)) ;;; Generated autoloads from xml.el (autoload (quote xml-parse-file) "xml" "\ @@ -30319,7 +30652,7 @@ If PARSE-NS is non-nil, then QNAMES are expanded. ;;;*** ;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (17383 -;;;;;; 24128)) +;;;;;; 32129)) ;;; Generated autoloads from xt-mouse.el (defvar xterm-mouse-mode nil "\ @@ -30330,8 +30663,6 @@ use either \\[customize] or the function `xterm-mouse-mode'.") (custom-autoload (quote xterm-mouse-mode) "xt-mouse") -(put (quote xterm-mouse-mode) (quote custom-set) (quote custom-set-minor-mode)) - (autoload (quote xterm-mouse-mode) "xt-mouse" "\ Toggle XTerm mouse mode. With prefix arg, turn XTerm mouse mode on iff arg is positive. @@ -30348,7 +30679,7 @@ down the SHIFT key while pressing the mouse button. ;;;*** ;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc" -;;;;;; "gnus/yenc.el" (17382 1051)) +;;;;;; "gnus/yenc.el" (17383 32167)) ;;; Generated autoloads from gnus/yenc.el (autoload (quote yenc-decode-region) "yenc" "\ @@ -30364,7 +30695,7 @@ Extract file name from an yenc header. ;;;*** ;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism -;;;;;; yow) "yow" "play/yow.el" (17382 1892)) +;;;;;; yow) "yow" "play/yow.el" (17383 32183)) ;;; Generated autoloads from play/yow.el (autoload (quote yow) "yow" "\ @@ -30390,7 +30721,7 @@ Zippy goes to the analyst. ;;;*** -;;;### (autoloads (zone) "zone" "play/zone.el" (17382 1892)) +;;;### (autoloads (zone) "zone" "play/zone.el" (17383 32183)) ;;; Generated autoloads from play/zone.el (autoload (quote zone) "zone" "\ @@ -30401,7 +30732,7 @@ Zone out, completely. ;;;*** ;;;### (autoloads (zone-mode zone-mode-update-serial-hook) "zone-mode" -;;;;;; "net/zone-mode.el" (17383 13297)) +;;;;;; "net/zone-mode.el" (17383 32178)) ;;; Generated autoloads from net/zone-mode.el (autoload (quote zone-mode-update-serial-hook) "zone-mode" "\ @@ -30423,65 +30754,64 @@ Zone-mode does two things: ;;;*** -;;;### (autoloads nil nil ("abbrev.el" "bindings.el" "buff-menu.el" -;;;;;; "calc/calc-aent.el" "calc/calc-alg.el" "calc/calc-arith.el" -;;;;;; "calc/calc-bin.el" "calc/calc-comb.el" "calc/calc-cplx.el" -;;;;;; "calc/calc-embed.el" "calc/calc-ext.el" "calc/calc-fin.el" -;;;;;; "calc/calc-forms.el" "calc/calc-frac.el" "calc/calc-funcs.el" -;;;;;; "calc/calc-graph.el" "calc/calc-help.el" "calc/calc-incom.el" -;;;;;; "calc/calc-keypd.el" "calc/calc-lang.el" "calc/calc-macs.el" -;;;;;; "calc/calc-map.el" "calc/calc-math.el" "calc/calc-misc.el" -;;;;;; "calc/calc-mode.el" "calc/calc-mtx.el" "calc/calc-poly.el" -;;;;;; "calc/calc-prog.el" "calc/calc-rewr.el" "calc/calc-rules.el" -;;;;;; "calc/calc-sel.el" "calc/calc-stat.el" "calc/calc-store.el" -;;;;;; "calc/calc-stuff.el" "calc/calc-trail.el" "calc/calc-undo.el" -;;;;;; "calc/calc-units.el" "calc/calc-vec.el" "calc/calc-yank.el" -;;;;;; "calc/calcalg2.el" "calc/calcalg3.el" "calc/calccomp.el" -;;;;;; "calc/calcsel2.el" "calendar/cal-bahai.el" "calendar/cal-china.el" -;;;;;; "calendar/cal-coptic.el" "calendar/cal-french.el" "calendar/cal-islam.el" -;;;;;; "calendar/cal-iso.el" "calendar/cal-julian.el" "calendar/cal-mayan.el" -;;;;;; "calendar/cal-menu.el" "calendar/cal-move.el" "calendar/cal-persia.el" -;;;;;; "calendar/cal-tex.el" "calendar/cal-x.el" "case-table.el" -;;;;;; "cdl.el" "cus-dep.el" "cus-start.el" "custom.el" "dframe.el" -;;;;;; "dos-fns.el" "dos-vars.el" "dos-w32.el" "ediff-diff.el" "ediff-init.el" +;;;### (autoloads nil nil ("bindings.el" "buff-menu.el" "calc/calc-aent.el" +;;;;;; "calc/calc-alg.el" "calc/calc-arith.el" "calc/calc-bin.el" +;;;;;; "calc/calc-comb.el" "calc/calc-cplx.el" "calc/calc-embed.el" +;;;;;; "calc/calc-ext.el" "calc/calc-fin.el" "calc/calc-forms.el" +;;;;;; "calc/calc-frac.el" "calc/calc-funcs.el" "calc/calc-graph.el" +;;;;;; "calc/calc-help.el" "calc/calc-incom.el" "calc/calc-keypd.el" +;;;;;; "calc/calc-lang.el" "calc/calc-macs.el" "calc/calc-map.el" +;;;;;; "calc/calc-math.el" "calc/calc-misc.el" "calc/calc-mode.el" +;;;;;; "calc/calc-mtx.el" "calc/calc-poly.el" "calc/calc-prog.el" +;;;;;; "calc/calc-rewr.el" "calc/calc-rules.el" "calc/calc-sel.el" +;;;;;; "calc/calc-stat.el" "calc/calc-store.el" "calc/calc-stuff.el" +;;;;;; "calc/calc-trail.el" "calc/calc-undo.el" "calc/calc-units.el" +;;;;;; "calc/calc-vec.el" "calc/calc-yank.el" "calc/calcalg2.el" +;;;;;; "calc/calcalg3.el" "calc/calccomp.el" "calc/calcsel2.el" +;;;;;; "calendar/cal-bahai.el" "calendar/cal-china.el" "calendar/cal-coptic.el" +;;;;;; "calendar/cal-french.el" "calendar/cal-islam.el" "calendar/cal-iso.el" +;;;;;; "calendar/cal-julian.el" "calendar/cal-mayan.el" "calendar/cal-menu.el" +;;;;;; "calendar/cal-move.el" "calendar/cal-persia.el" "calendar/cal-tex.el" +;;;;;; "calendar/cal-x.el" "case-table.el" "cdl.el" "cus-dep.el" +;;;;;; "cus-load.el" "cus-start.el" "custom.el" "dframe.el" "dos-fns.el" +;;;;;; "dos-vars.el" "dos-w32.el" "ediff-diff.el" "ediff-init.el" ;;;;;; "ediff-merg.el" "ediff-ptch.el" "ediff-vers.el" "ediff-wind.el" ;;;;;; "electric.el" "emacs-lisp/assoc.el" "emacs-lisp/authors.el" ;;;;;; "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el" "emacs-lisp/byte-run.el" ;;;;;; "emacs-lisp/cl-compat.el" "emacs-lisp/cl-extra.el" "emacs-lisp/cl-macs.el" ;;;;;; "emacs-lisp/cl-seq.el" "emacs-lisp/cl-specs.el" "emacs-lisp/cust-print.el" -;;;;;; "emacs-lisp/ewoc.el" "emacs-lisp/find-gc.el" "emacs-lisp/float-sup.el" -;;;;;; "emacs-lisp/gulp.el" "emacs-lisp/levents.el" "emacs-lisp/lisp-mnt.el" -;;;;;; "emacs-lisp/lisp-mode.el" "emacs-lisp/lisp.el" "emacs-lisp/lmenu.el" -;;;;;; "emacs-lisp/lselect.el" "emacs-lisp/lucid.el" "emacs-lisp/map-ynp.el" -;;;;;; "emacs-lisp/regi.el" "emacs-lisp/sregex.el" "emacs-lisp/syntax.el" -;;;;;; "emacs-lisp/tcover-ses.el" "emacs-lisp/tcover-unsafep.el" -;;;;;; "emacs-lock.el" "emulation/cua-gmrk.el" "emulation/cua-rect.el" -;;;;;; "emulation/edt-lk201.el" "emulation/edt-mapper.el" "emulation/edt-pc.el" -;;;;;; "emulation/edt-vt100.el" "emulation/tpu-mapper.el" "emulation/viper-cmd.el" -;;;;;; "emulation/viper-ex.el" "emulation/viper-init.el" "emulation/viper-keym.el" -;;;;;; "emulation/viper-macs.el" "emulation/viper-mous.el" "emulation/viper-util.el" -;;;;;; "env.el" "erc/erc-backend.el" "erc/erc-goodies.el" "erc/erc-ibuffer.el" -;;;;;; "erc/erc-lang.el" "erc/erc-menu.el" "erc/erc-nicklist.el" -;;;;;; "eshell/em-alias.el" "eshell/em-banner.el" "eshell/em-basic.el" -;;;;;; "eshell/em-cmpl.el" "eshell/em-dirs.el" "eshell/em-glob.el" -;;;;;; "eshell/em-hist.el" "eshell/em-ls.el" "eshell/em-pred.el" -;;;;;; "eshell/em-prompt.el" "eshell/em-rebind.el" "eshell/em-script.el" -;;;;;; "eshell/em-smart.el" "eshell/em-term.el" "eshell/em-unix.el" -;;;;;; "eshell/em-xtra.el" "eshell/esh-arg.el" "eshell/esh-cmd.el" -;;;;;; "eshell/esh-ext.el" "eshell/esh-io.el" "eshell/esh-maint.el" -;;;;;; "eshell/esh-module.el" "eshell/esh-opt.el" "eshell/esh-proc.el" -;;;;;; "eshell/esh-util.el" "eshell/esh-var.el" "ezimage.el" "faces.el" -;;;;;; "files.el" "foldout.el" "font-core.el" "font-lock.el" "format.el" -;;;;;; "forms-d2.el" "forms-pass.el" "frame.el" "generic-x.el" "gnus/compface.el" +;;;;;; "emacs-lisp/find-gc.el" "emacs-lisp/float-sup.el" "emacs-lisp/gulp.el" +;;;;;; "emacs-lisp/levents.el" "emacs-lisp/lisp-mnt.el" "emacs-lisp/lisp-mode.el" +;;;;;; "emacs-lisp/lisp.el" "emacs-lisp/lmenu.el" "emacs-lisp/lselect.el" +;;;;;; "emacs-lisp/lucid.el" "emacs-lisp/map-ynp.el" "emacs-lisp/regi.el" +;;;;;; "emacs-lisp/sregex.el" "emacs-lisp/syntax.el" "emacs-lisp/tcover-ses.el" +;;;;;; "emacs-lisp/tcover-unsafep.el" "emacs-lock.el" "emulation/cua-gmrk.el" +;;;;;; "emulation/cua-rect.el" "emulation/edt-lk201.el" "emulation/edt-mapper.el" +;;;;;; "emulation/edt-pc.el" "emulation/edt-vt100.el" "emulation/tpu-mapper.el" +;;;;;; "emulation/viper-cmd.el" "emulation/viper-ex.el" "emulation/viper-init.el" +;;;;;; "emulation/viper-keym.el" "emulation/viper-macs.el" "emulation/viper-mous.el" +;;;;;; "emulation/viper-util.el" "env.el" "erc/erc-backend.el" "erc/erc-goodies.el" +;;;;;; "erc/erc-ibuffer.el" "erc/erc-lang.el" "erc/erc-menu.el" +;;;;;; "erc/erc-nicklist.el" "eshell/em-alias.el" "eshell/em-banner.el" +;;;;;; "eshell/em-basic.el" "eshell/em-cmpl.el" "eshell/em-dirs.el" +;;;;;; "eshell/em-glob.el" "eshell/em-hist.el" "eshell/em-ls.el" +;;;;;; "eshell/em-pred.el" "eshell/em-prompt.el" "eshell/em-rebind.el" +;;;;;; "eshell/em-script.el" "eshell/em-smart.el" "eshell/em-term.el" +;;;;;; "eshell/em-unix.el" "eshell/em-xtra.el" "eshell/esh-arg.el" +;;;;;; "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-groups.el" +;;;;;; "eshell/esh-io.el" "eshell/esh-maint.el" "eshell/esh-module.el" +;;;;;; "eshell/esh-opt.el" "eshell/esh-proc.el" "eshell/esh-util.el" +;;;;;; "eshell/esh-var.el" "ezimage.el" "faces.el" "files.el" "finder-inf.el" +;;;;;; "foldout.el" "font-core.el" "font-lock.el" "format.el" "forms-d2.el" +;;;;;; "forms-pass.el" "frame.el" "fringe.el" "generic-x.el" "gnus/compface.el" ;;;;;; "gnus/dig.el" "gnus/dns.el" "gnus/format-spec.el" "gnus/gnus-async.el" ;;;;;; "gnus/gnus-bcklg.el" "gnus/gnus-cite.el" "gnus/gnus-cus.el" -;;;;;; "gnus/gnus-demon.el" "gnus/gnus-diary.el" "gnus/gnus-dup.el" -;;;;;; "gnus/gnus-eform.el" "gnus/gnus-ems.el" "gnus/gnus-gl.el" -;;;;;; "gnus/gnus-int.el" "gnus/gnus-logic.el" "gnus/gnus-mh.el" -;;;;;; "gnus/gnus-salt.el" "gnus/gnus-score.el" "gnus/gnus-setup.el" -;;;;;; "gnus/gnus-srvr.el" "gnus/gnus-sum.el" "gnus/gnus-topic.el" -;;;;;; "gnus/gnus-undo.el" "gnus/gnus-util.el" "gnus/gnus-uu.el" -;;;;;; "gnus/gnus-vm.el" "gnus/hex-util.el" "gnus/ietf-drums.el" +;;;;;; "gnus/gnus-demon.el" "gnus/gnus-dup.el" "gnus/gnus-eform.el" +;;;;;; "gnus/gnus-ems.el" "gnus/gnus-gl.el" "gnus/gnus-int.el" "gnus/gnus-logic.el" +;;;;;; "gnus/gnus-mh.el" "gnus/gnus-salt.el" "gnus/gnus-score.el" +;;;;;; "gnus/gnus-setup.el" "gnus/gnus-srvr.el" "gnus/gnus-sum.el" +;;;;;; "gnus/gnus-topic.el" "gnus/gnus-undo.el" "gnus/gnus-util.el" +;;;;;; "gnus/gnus-uu.el" "gnus/gnus-vm.el" "gnus/hex-util.el" "gnus/ietf-drums.el" ;;;;;; "gnus/imap.el" "gnus/legacy-gnus-agent.el" "gnus/mail-parse.el" ;;;;;; "gnus/mail-prsvr.el" "gnus/mail-source.el" "gnus/mailcap.el" ;;;;;; "gnus/messcompat.el" "gnus/mm-bodies.el" "gnus/mm-decode.el" @@ -30521,8 +30851,8 @@ Zone-mode does two things: ;;;;;; "mh-e/mh-acros.el" "mh-e/mh-alias.el" "mh-e/mh-buffers.el" ;;;;;; "mh-e/mh-compat.el" "mh-e/mh-funcs.el" "mh-e/mh-gnus.el" ;;;;;; "mh-e/mh-identity.el" "mh-e/mh-inc.el" "mh-e/mh-junk.el" -;;;;;; "mh-e/mh-letter.el" "mh-e/mh-limit.el" "mh-e/mh-mime.el" -;;;;;; "mh-e/mh-print.el" "mh-e/mh-scan.el" "mh-e/mh-search.el" +;;;;;; "mh-e/mh-letter.el" "mh-e/mh-limit.el" "mh-e/mh-loaddefs.el" +;;;;;; "mh-e/mh-mime.el" "mh-e/mh-print.el" "mh-e/mh-scan.el" "mh-e/mh-search.el" ;;;;;; "mh-e/mh-seq.el" "mh-e/mh-show.el" "mh-e/mh-speed.el" "mh-e/mh-thread.el" ;;;;;; "mh-e/mh-tool-bar.el" "mh-e/mh-utils.el" "mh-e/mh-xface.el" ;;;;;; "misc.el" "mouse-copy.el" "mouse-drag.el" "mouse.el" "net/eudc-vars.el" @@ -30540,29 +30870,27 @@ Zone-mode does two things: ;;;;;; "pgg-def.el" "pgg-parse.el" "pgg-pgp.el" "pgg-pgp5.el" "play/gamegrid.el" ;;;;;; "play/gametree.el" "play/meese.el" "progmodes/ada-prj.el" ;;;;;; "progmodes/cc-align.el" "progmodes/cc-awk.el" "progmodes/cc-bytecomp.el" -;;;;;; "progmodes/cc-cmds.el" "progmodes/cc-compat.el" "progmodes/cc-defs.el" -;;;;;; "progmodes/cc-fonts.el" "progmodes/cc-langs.el" "progmodes/cc-menus.el" -;;;;;; "progmodes/cc-vars.el" "progmodes/ebnf-abn.el" "progmodes/ebnf-bnf.el" -;;;;;; "progmodes/ebnf-dtd.el" "progmodes/ebnf-ebx.el" "progmodes/ebnf-iso.el" -;;;;;; "progmodes/ebnf-otz.el" "progmodes/ebnf-yac.el" "progmodes/idlw-complete-structtag.el" -;;;;;; "progmodes/idlw-help.el" "progmodes/idlw-rinfo.el" "progmodes/idlw-toolbar.el" -;;;;;; "progmodes/mantemp.el" "progmodes/xscheme.el" "register.el" -;;;;;; "replace.el" "rfn-eshadow.el" "s-region.el" "saveplace.el" -;;;;;; "sb-image.el" "scroll-bar.el" "select.el" "simple.el" "soundex.el" -;;;;;; "startup.el" "subdirs.el" "tempo.el" "term/AT386.el" "term/apollo.el" -;;;;;; "term/bobcat.el" "term/cygwin.el" "term/internal.el" "term/iris-ansi.el" -;;;;;; "term/linux.el" "term/lk201.el" "term/mac-win.el" "term/news.el" -;;;;;; "term/pc-win.el" "term/rxvt.el" "term/sun-mouse.el" "term/sun.el" -;;;;;; "term/sup-mouse.el" "term/tty-colors.el" "term/tvi970.el" +;;;;;; "progmodes/cc-cmds.el" "progmodes/cc-defs.el" "progmodes/cc-fonts.el" +;;;;;; "progmodes/cc-langs.el" "progmodes/cc-menus.el" "progmodes/ebnf-abn.el" +;;;;;; "progmodes/ebnf-bnf.el" "progmodes/ebnf-dtd.el" "progmodes/ebnf-ebx.el" +;;;;;; "progmodes/ebnf-iso.el" "progmodes/ebnf-otz.el" "progmodes/ebnf-yac.el" +;;;;;; "progmodes/idlw-complete-structtag.el" "progmodes/idlw-help.el" +;;;;;; "progmodes/idlw-toolbar.el" "progmodes/mantemp.el" "progmodes/xscheme.el" +;;;;;; "register.el" "replace.el" "rfn-eshadow.el" "s-region.el" +;;;;;; "saveplace.el" "sb-image.el" "scroll-bar.el" "select.el" +;;;;;; "soundex.el" "startup.el" "subdirs.el" "tempo.el" "term/AT386.el" +;;;;;; "term/apollo.el" "term/bobcat.el" "term/cygwin.el" "term/internal.el" +;;;;;; "term/iris-ansi.el" "term/linux.el" "term/lk201.el" "term/mac-win.el" +;;;;;; "term/news.el" "term/pc-win.el" "term/rxvt.el" "term/sun-mouse.el" +;;;;;; "term/sun.el" "term/sup-mouse.el" "term/tty-colors.el" "term/tvi970.el" ;;;;;; "term/vt100.el" "term/vt102.el" "term/vt125.el" "term/vt200.el" ;;;;;; "term/vt201.el" "term/vt220.el" "term/vt240.el" "term/vt300.el" ;;;;;; "term/vt320.el" "term/vt400.el" "term/vt420.el" "term/w32-win.el" ;;;;;; "term/wyse50.el" "term/x-win.el" "term/xterm.el" "textmodes/bib-mode.el" -;;;;;; "textmodes/fill.el" "textmodes/makeinfo.el" "textmodes/page-ext.el" -;;;;;; "textmodes/page.el" "textmodes/paragraphs.el" "textmodes/refbib.el" -;;;;;; "textmodes/refer.el" "textmodes/reftex-auc.el" "textmodes/reftex-dcr.el" -;;;;;; "textmodes/reftex-ref.el" "textmodes/reftex-sel.el" "textmodes/reftex-toc.el" -;;;;;; "textmodes/reftex-vars.el" "textmodes/texnfo-upd.el" "textmodes/text-mode.el" +;;;;;; "textmodes/makeinfo.el" "textmodes/page-ext.el" "textmodes/page.el" +;;;;;; "textmodes/refbib.el" "textmodes/refer.el" "textmodes/reftex-auc.el" +;;;;;; "textmodes/reftex-dcr.el" "textmodes/reftex-ref.el" "textmodes/reftex-sel.el" +;;;;;; "textmodes/reftex-toc.el" "textmodes/texnfo-upd.el" "textmodes/text-mode.el" ;;;;;; "timezone.el" "tooltip.el" "tree-widget.el" "uniquify.el" ;;;;;; "url/url-about.el" "url/url-cookie.el" "url/url-dired.el" ;;;;;; "url/url-expand.el" "url/url-ftp.el" "url/url-history.el" @@ -30570,7 +30898,7 @@ Zone-mode does two things: ;;;;;; "url/url-nfs.el" "url/url-proxy.el" "url/url-vars.el" "url/vc-dav.el" ;;;;;; "vc-hooks.el" "vcursor.el" "version.el" "vms-patch.el" "vmsproc.el" ;;;;;; "vt-control.el" "vt100-led.el" "w32-fns.el" "w32-vars.el" -;;;;;; "widget.el" "window.el" "x-dnd.el") (17448 19160 944703)) +;;;;;; "widget.el" "window.el" "x-dnd.el") (17590 36747 258974)) ;;;*** From 02248b85c2e0062c1167be3740e8bf6a1bb0ca8b Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Thu, 13 Jul 2006 21:55:47 +0000 Subject: [PATCH 212/336] *** empty log message *** --- lisp/ChangeLog | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b73a218acfc..54e81f850e7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,15 @@ +2006-07-14 Nick Roberts + + * progmodes/gdb-ui.el (gdb-display-buffer): Check for + gdb-source-window. Add dedicated argument. + (gdb-display-separate-io-buffer, gdb-append-to-inferior-io) + (gdb-display-breakpoints-buffer, gdb-display-stack-buffer) + (gdb-display-threads-buffer, gdb-display-memory-buffer) + (gdb-display-locals-buffer): Use it. + + * progmodes/gud.el (gud-display-line): Use gdb-display-buffer. + Set gdb-source-window. + 2006-07-13 Stefan Monnier * emacs-lisp/autoload.el (make-autoload): Remove special handling of From d138996e007e5b2ba7fc6a84c1a4f01bba9162b9 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Thu, 13 Jul 2006 21:56:26 +0000 Subject: [PATCH 213/336] (gdb-display-buffer): Check for gdb-source-window. Add dedicated argument. (gdb-display-separate-io-buffer, gdb-append-to-inferior-io) (gdb-display-breakpoints-buffer, gdb-display-stack-buffer) (gdb-display-threads-buffer, gdb-display-memory-buffer) (gdb-display-locals-buffer): Use it. --- lisp/progmodes/gdb-ui.el | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 684102015cc..810a7b3e973 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el @@ -1019,7 +1019,7 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'." (interactive) (if gdb-use-separate-io-buffer (gdb-display-buffer - (gdb-get-buffer-create 'gdb-inferior-io)))) + (gdb-get-buffer-create 'gdb-inferior-io) t))) (defconst gdb-frame-parameters '((height . 14) (width . 80) @@ -1556,7 +1556,7 @@ happens to be appropriate." (goto-char (point-max)) (insert-before-markers string)) (if (not (string-equal string "")) - (gdb-display-buffer (gdb-get-buffer-create 'gdb-inferior-io)))) + (gdb-display-buffer (gdb-get-buffer-create 'gdb-inferior-io) t))) (defun gdb-clear-inferior-io () (with-current-buffer (gdb-get-buffer-create 'gdb-inferior-io) @@ -1865,7 +1865,7 @@ static char *magick[] = { "Display status of user-settable breakpoints." (interactive) (gdb-display-buffer - (gdb-get-buffer-create 'gdb-breakpoints-buffer))) + (gdb-get-buffer-create 'gdb-breakpoints-buffer) t)) (defun gdb-frame-breakpoints-buffer () "Display status of user-settable breakpoints in a new frame." @@ -2041,7 +2041,7 @@ static char *magick[] = { "Display backtrace of current stack." (interactive) (gdb-display-buffer - (gdb-get-buffer-create 'gdb-stack-buffer))) + (gdb-get-buffer-create 'gdb-stack-buffer) t)) (defun gdb-frame-stack-buffer () "Display backtrace of current stack in a new frame." @@ -2122,7 +2122,7 @@ static char *magick[] = { "Display IDs of currently known threads." (interactive) (gdb-display-buffer - (gdb-get-buffer-create 'gdb-threads-buffer))) + (gdb-get-buffer-create 'gdb-threads-buffer) t)) (defun gdb-frame-threads-buffer () "Display IDs of currently known threads in a new frame." @@ -2256,7 +2256,7 @@ static char *magick[] = { "Display integer register contents." (interactive) (gdb-display-buffer - (gdb-get-buffer-create 'gdb-registers-buffer))) + (gdb-get-buffer-create 'gdb-registers-buffer) t)) (defun gdb-frame-registers-buffer () "Display integer register contents in a new frame." @@ -2580,7 +2580,7 @@ corresponding to the mode line clicked." "Display memory contents." (interactive) (gdb-display-buffer - (gdb-get-buffer-create 'gdb-memory-buffer))) + (gdb-get-buffer-create 'gdb-memory-buffer) t)) (defun gdb-frame-memory-buffer () "Display memory contents in a new frame." @@ -2687,7 +2687,7 @@ corresponding to the mode line clicked." "Display local variables of current stack and their values." (interactive) (gdb-display-buffer - (gdb-get-buffer-create 'gdb-locals-buffer))) + (gdb-get-buffer-create 'gdb-locals-buffer) t)) (defun gdb-frame-locals-buffer () "Display local variables of current stack and their values in a new frame." @@ -2698,7 +2698,7 @@ corresponding to the mode line clicked." ;;;; Window management -(defun gdb-display-buffer (buf &optional size) +(defun gdb-display-buffer (buf dedicated &optional size) (let ((answer (get-buffer-window buf 0)) (must-split nil)) (if answer @@ -2707,7 +2707,8 @@ corresponding to the mode line clicked." (pop-to-buffer gud-comint-buffer) ;Select the right frame. (let ((window (get-lru-window))) (if (and window - (not (eq window (get-buffer-window gud-comint-buffer)))) + (not (memq window `(,(get-buffer-window gud-comint-buffer) + ,gdb-source-window)))) (progn (set-window-buffer window buf) (setq answer window)) @@ -2718,7 +2719,7 @@ corresponding to the mode line clicked." (new-size (and size (< size cur-size) (- cur-size size)))) (setq answer (split-window largest new-size)) (set-window-buffer answer buf) - (set-window-dedicated-p answer t))) + (set-window-dedicated-p answer dedicated))) answer))) @@ -3162,7 +3163,7 @@ BUFFER nil or omitted means use the current buffer." (interactive) (setq gdb-previous-frame nil) (gdb-display-buffer - (gdb-get-buffer-create 'gdb-assembler-buffer))) + (gdb-get-buffer-create 'gdb-assembler-buffer) t)) (defun gdb-frame-assembler-buffer () "Display disassembly view in a new frame." From 8d39ce5e923ba01ca42770e8d83297a7033fad9d Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Thu, 13 Jul 2006 21:57:05 +0000 Subject: [PATCH 214/336] (gud-display-line): Use gdb-display-buffer. Set gdb-source-window. --- lisp/progmodes/gud.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index c57c88d3ece..97e54135a6f 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -2763,7 +2763,8 @@ Obeying it means displaying in another window the specified file and line." (gud-find-file true-file))) (window (and buffer (or (get-buffer-window buffer) (if (memq gud-minor-mode '(gdbmi gdba)) - (gdb-display-source-buffer buffer)) + (unless (gdb-display-source-buffer buffer) + (gdb-display-buffer buffer nil))) (display-buffer buffer)))) (pos)) (if buffer @@ -2793,7 +2794,10 @@ Obeying it means displaying in another window the specified file and line." (cond ((or (< pos (point-min)) (> pos (point-max))) (widen) (goto-char pos)))) - (if window (set-window-point window gud-overlay-arrow-position)))))) + (when window + (set-window-point window gud-overlay-arrow-position) + (if (memq gud-minor-mode '(gdbmi gdba)) + (setq gdb-source-window window))))))) ;; The gud-call function must do the right thing whether its invoking ;; keystroke is from the GUD buffer itself (via major-mode binding) From 0a6fea3151ebfb3ae188f53826dcec1a414da504 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 13 Jul 2006 22:52:49 +0000 Subject: [PATCH 215/336] *** empty log message *** --- ChangeLog | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a37cdd71377..5c80bf1e874 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2006-07-14 Kim F. Storm + + * AUTHORS: Regenerate. + 2006-07-08 Richard Stallman * INSTALL (DETAILED BUILDING AND INSTALLATION): Minor corrections. @@ -9,7 +13,7 @@ 2006-07-08 Eli Zaretskii - * configure: Regenerated. + * configure: Regenerate. * configure.in (PKG_CHECK_MODULES): Redirect stderr of pkg-config to /dev/null, since we don't need the error message, just the From 931c47408b8252c9dcf50be2d2386e6d0cc7081a Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 13 Jul 2006 22:53:01 +0000 Subject: [PATCH 216/336] Regenerate. --- AUTHORS | 141 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 73 insertions(+), 68 deletions(-) diff --git a/AUTHORS b/AUTHORS index c70d6406db6..46909174c37 100644 --- a/AUTHORS +++ b/AUTHORS @@ -31,8 +31,8 @@ Aki Vehtari: changed bibtex.el gnus-art.el gnus-score.el gnus-sum.el Alakazam Petrofsky: changed hanoi.el Alan Mackenzie: wrote cc-awk.el -and changed cc-cmds.el cc-mode.el cc-engine.el cc-vars.el cc-defs.el - cc-langs.el cc-styles.el cc-mode.texi lread.c cc-align.el cc-fonts.el +and changed cc-cmds.el cc-mode.el cc-defs.el cc-engine.el cc-vars.el + cc-langs.el cc-styles.el cc-mode.texi lread.c cc-fonts.el cc-align.el cc-subword.el isearch.el programs.texi search.texi subr.el text.texi buffers.texi cc-fix.el cc-mode-19.el ebrowse.el and 14 other files @@ -57,7 +57,7 @@ and changed erc.el erc-track.el erc-button.el erc-stamp.el erc-match.el erc-autoaway.el erc-nickserv.el Makefile erc-autojoin.el erc-fill.el erc-pcomplete.el erc-complete.el erc-ibuffer.el erc-members.el comint.el custom.el erc-bbdb.el erc-chess.el erc-ezbounce.el - erc-imenu.el erc-page.el and 25 other files + erc-imenu.el erc-page.el and 24 other files Alexander Klimov: changed man.el @@ -114,13 +114,14 @@ Andreas Schwab: changed Makefile.in files.el lisp.h xdisp.c alloc.c print.c simple.el buffer.c minibuf.c xterm.c emacs.c keyboard.c process.c and 443 other files -Andreas Seltenreich: changed nnweb.el gnus-art.el gnus-ml.el url-http.el +Andreas Seltenreich: changed nnweb.el gnus-art.el gnus-ml.el gnus.texi + url-cookie.el url-http.el Andrew Choi: wrote mac-win.el and changed macterm.c mac.c macfns.c INSTALL macmenu.c darwin.h macterm.h sysdep.c emacs.c fontset.c frame.c keyboard.c macgui.h xfaces.c Emacs.r README cw5-mcp.xml cw6-mcp.xml dispextern.h make-package makefile.MPW - and 62 other files + and 61 other files Andrew Cohen: changed dns.el @@ -131,7 +132,7 @@ Andrew Hall: changed paren.el Andrew Innes: changed makefile.w32-in w32fns.c w32term.c w32.c w32proc.c fileio.c gmake.defs dos-w32.el ms-w32.h nmake.defs w32-fns.el w32term.h unexw32.c w32menu.c w32xfns.c addpm.c cmdproxy.c emacs.c w32-win.el - w32inevt.c configure.bat and 136 other files + w32inevt.c configure.bat and 135 other files Andrew Oram: changed man/calendar.texi miscellaneous changes to files in man/ @@ -209,8 +210,8 @@ Bill Wohler: wrote mh-buffers.el mh-comp.el mh-compat.el mh-e.el mh-scan.el mh-seq.el mh-show.el mh-utils.el mh-xface.el and changed mh-customize.el mh-index.el MH-E-NEWS mh-alias.el Makefile mh-identity.el mh-pick.el README mh-speed.el mh-init.el mh-junk.el - mh-e.texi mh-acros.el mh-gnus.el mh-unit.el mh-inc.el mh-search.el - mh-xemacs-compat.el mh-print.el Makefile.in image.el and 89 other files + mh-e.texi mh-acros.el mh-gnus.el mh-search.el mh-unit.el mh-inc.el + mh-xemacs-compat.el mh-print.el Makefile.in image.el and 88 other files Bjorn Solberg: changed nnimap.el @@ -303,10 +304,10 @@ Charlie Martin: wrote autoinsert.el Cheng Gao: changed MORE.STUFF flymake.el tips.texi url-dired.el url-file.el url-handlers.el url-http.el url-nfs.el -Chong Yidong: changed custom.el cus-edit.el display.texi longlines.el - files.el files.texi text.texi FOR-RELEASE custom.texi simple.el - cus-theme.el wid-edit.el xterm.c frames.texi info.el mouse.el xfns.c - anti.texi dired.texi image.c keymaps.texi and 115 other files +Chong Yidong: changed custom.el cus-edit.el longlines.el display.texi + files.el files.texi simple.el text.texi custom.texi cus-theme.el + wid-edit.el xterm.c frames.texi info.el misc.texi mouse.el xfns.c + anti.texi dired.texi image.c keymaps.texi and 131 other files Chris Hanson: changed xscheme.el scheme.el xterm.c hpux.h x11term.c hp9000s300.h keyboard.c process.c texinfmt.el emacsclient.c sort.el @@ -601,7 +602,7 @@ Eli Zaretskii: wrote codepage.el rxvt.el tty-colors.el and changed msdos.c Makefile.in files.el makefile.w32-in info.el fileio.c startup.el mainmake.v2 config.bat menu-bar.el pc-win.el simple.el internal.el msdos.h xfaces.c rmail.el dosfns.c frame.c faces.el emacs.c - frame.el and 503 other files + frame.el and 512 other files Emanuele Giaquinta: changed rxvt.el configure.in etags.c frame.el sh-script.el text.texi @@ -687,7 +688,7 @@ Florian Weimer: changed message.el coding.c gnus-art.el gnus.el gnus.texi Francesco Potort,Al(B: wrote cmacexp.el and changed etags.c man.el delta.h undigest.el comint.el configure.in - uniquify.el latin-post.el rmail.el etags.1 etags.el latin-alt.el + uniquify.el etags.1 latin-post.el rmail.el etags.el latin-alt.el sgml-mode.el Makefile.in data.c european.el filelock.c files.el generic-x.el gud.el hanoi.el and 42 other files @@ -794,7 +795,7 @@ Glenn Morris: changed f90.el diary-lib.el calendar.el fortran.el calendar.texi appt.el sh-script.el timeclock.el cal-menu.el cal-hebrew.el cal-islam.el files.el holidays.el programs.texi scroll-all.el startup.el cal-coptic.el cal-julian.el cal-move.el - cal-tex.el cal-x.el and 37 other files + cal-tex.el cal-x.el and 36 other files Glynn Clements: wrote gamegrid.el snake.el tetris.el @@ -960,7 +961,7 @@ Jan Dj,Ad(Brv: wrote dnd.el x-dnd.el and changed gtkutil.c xterm.c xfns.c xmenu.c xterm.h gtkutil.h configure.in Makefile.in config.in configure frames.texi keyboard.c emacs.c x-win.el xselect.c xlwmenu.c alloc.c startup.el xdisp.c - xresources.texi fileio.c and 170 other files + xresources.texi fileio.c and 168 other files Jan Nieuwenhuizen: changed info.el TUTORIAL.nl emacs.c emacsclient.c gnus-start.el gud.el nnmh.el server.el startup.el @@ -982,7 +983,7 @@ Jason Rumney: wrote w32-vars.el and changed w32fns.c w32term.c w32menu.c w32-win.el w32term.h makefile.w32-in w32.c w32bdf.c w32-fns.el w32select.c w32console.c w32gui.h w32proc.c keyboard.c mule-cmds.el emacs.c fileio.c w32bdf.h - w32inevt.c config.nt configure.bat and 78 other files + w32inevt.c config.nt configure.bat and 77 other files Jay Belanger: changed calc.texi calc.el calc-ext.el calc-embed.el calc-aent.el calc-prog.el calc-arith.el calc-help.el calc-lang.el @@ -1032,7 +1033,7 @@ Jesper Harder: wrote yenc.el and changed gnus-art.el gnus-sum.el message.el gnus-msg.el gnus.el gnus-group.el mm-bodies.el gnus-util.el mm-decode.el mm-util.el rfc2047.el mml.el mml1991.el mailcap.el mm-uu.el pgg-gpg.el smtpmail.el - gnus-srvr.el gnus-uu.el info.el nnmail.el and 180 other files + gnus-srvr.el gnus-uu.el info.el nnmail.el and 179 other files Jhair Tocancipa Triana: changed gnus-audio.el @@ -1119,7 +1120,7 @@ John Paul Wallington: changed ibuffer.el ibuf-ext.el subr.el files.el help-fns.el thumbs.el fns.c rmail.el bindings.el bytecomp.el cus-theme.el info.el re-builder.el startup.el xfns.c apropos.el arc-mode.el browse-url.el comint.el cus-start.el display.texi - and 113 other files + and 115 other files John Robinson: wrote bg-mouse.el @@ -1136,10 +1137,11 @@ John Wiegley: wrote align.el cal-bahai.el em-alias.el em-banner.el esh-ext.el esh-io.el esh-maint.el esh-mode.el esh-module.el esh-opt.el esh-proc.el esh-test.el esh-util.el esh-var.el eshell.el eudcb-mab.el isearchb.el pcmpl-cvs.el pcomplete.el timeclock.el -and changed erc-chess.el erc.el iswitchb.el Makefile.in TODO allout.el +and changed erc-chess.el erc.el iswitchb.el Makefile.in allout.el cal-menu.el calendar.el compile.el desktop.el diary-lib.el erc-bbdb.el erc-button.el erc-complete.el erc-fill.el erc-ibuffer.el erc-list.el - erc-match.el erc-menu.el erc-nets.el erc-replace.el and 10 other files + erc-match.el erc-menu.el erc-nets.el erc-replace.el erc-speak.el + and 9 other files John Williams: changed etags.el @@ -1192,7 +1194,7 @@ and changed files.el perl-mode.el Juanma Barranquero: changed makefile.w32-in help-fns.el subr.el faces.el files.el w32fns.c cperl-mode.el replace.el simple.el eval.c sh-script.el vhdl-mode.el comint.el org.el xdisp.c allout.el bs.el - desktop.el idlwave.el keyboard.c process.c and 550 other files + desktop.el idlwave.el keyboard.c process.c and 549 other files Juergen Hoetzel: changed url-handlers.el @@ -1234,10 +1236,10 @@ Kailash C. Chowksey: changed HELLO Makefile.in ind-util.el kannada.el knd-util.el loadup.el makefile.w32-in Karl Berry: changed info.texi emacs.texi elisp.texi emacs-xtra.texi - filelock.c copyright.el dired.c faq.texi gnu.texi help.texi msdog.texi - texinfo.el texinfo.tex ada-mode.texi autotype.texi building.texi - calc.texi cc-mode.texi cl.texi cmdargs.texi compile.el - and 37 other files + filelock.c building.texi cmdargs.texi copyright.el dired.c faq.texi + gnu.texi help.texi macos.texi msdog.texi mule.texi sending.texi + texinfo.el texinfo.tex abbrevs.texi ada-mode.texi anti.texi + and 54 other files Karl Chen: changed files.el align.el cc-vars.el gnus-art.el help-mode.el jka-cmpr-hook.el make-mode.el perl-mode.el python.el tex-mode.el @@ -1293,6 +1295,7 @@ Ken Laprade: changed simple.el Ken Manheimer: wrote allout.el icomplete.el and changed pgg-gpg.el pgg.el pgg-pgp.el pgg-pgp5.el edebug.el pgg.texi + tips.texi Ken Raeburn: changed lisp.h buffer.c alloc.c keyboard.c lread.c minibuf.c coding.c Makefile.in editfns.c fileio.c fns.c keymap.c undo.c xdisp.c @@ -1350,9 +1353,9 @@ and changed info-look.el info.el gnus-art.el gnus-sum.el mailcap.el Kim F. Storm: wrote animage.el bindat.el cua-base.el cua-gmrk.el cua-rect.el ido.el keypad.el kmacro.el and changed xdisp.c dispextern.h simple.el xterm.c process.c window.c - keyboard.c w32term.c subr.el fringe.c dispnew.c lisp.h macterm.c - alloc.c xfaces.c display.texi fns.c xterm.h info.el xfns.c .gdbinit - and 221 other files + keyboard.c w32term.c subr.el dispnew.c fringe.c lisp.h macterm.c + display.texi fns.c xfaces.c alloc.c xterm.h info.el xfns.c .gdbinit + and 226 other files Kim-Minh Kaplan: changed gnus-picon.el gnus-sum.el gnus-start.el gnus-win.el gnus-xmas.el gnus.texi message.el nndraft.el nnml.el @@ -1398,7 +1401,7 @@ Lars Brinkhoff: changed building.texi config.in configure configure.in Lars Hansen: changed desktop.el info.el mh-e.el dired-x.el dired-x.texi dired.el ls-lisp.el rmail.el tramp.el dired.c files.texi grp.h hilit-chg.el misc.texi url-auth.el url-cache.el url-dired.el url-ftp.el - url-irc.el url-misc.el url-news.el and 40 other files + url-irc.el url-misc.el url-news.el and 39 other files Lars Lindberg: wrote imenu.el msb.el and changed dabbrev.el @@ -1451,7 +1454,7 @@ Luc Teirlinck: wrote help-at-pt.el and changed files.el autorevert.el cus-edit.el subr.el simple.el frames.texi startup.el display.texi files.texi Makefile.in dired.el comint.el custom.texi emacs.texi fns.c frame.el ielm.el minibuf.texi - modes.texi variables.texi buffers.texi and 216 other files + modes.texi variables.texi buffers.texi and 215 other files Lucid, Inc.: changed byte-opt.el byte-run.el bytecode.c bytecomp.el delsel.el disass.el faces.el font-lock.el lmenu.el lselect.el @@ -1461,11 +1464,11 @@ Lute Kamstra: changed modes.texi generic.el debug.el generic-x.el font-lock.el subr.el debugging.texi easy-mmode.el elisp.texi hl-line.el simple.el Makefile.in battery.el bindings.el calc.el cmdargs.texi edebug.texi emacs.texi info.el make-tarball.txt octave-inf.el - and 218 other files + and 217 other files Lynn Slater: wrote help-macro.el -L$,1 q(Brentey K,Aa(Broly: changed bindings.el xfns.c TODO buff-menu.el buffer.c +L$,1 q(Brentey K,Aa(Broly: changed bindings.el xfns.c buff-menu.el buffer.c buffers.texi cmds.c editfns.c frame.el menu-bar.el print.c simple.el xdisp.c @@ -1486,10 +1489,10 @@ Marc Girod: changed informat.el rmail.el rmailsum.el sendmail.el Marc Shapiro: changed bibtex.el -Marcelo Toledo: changed TUTORIAL.pt_BR FOR-RELEASE TUTORIAL.cn - TUTORIAL.cs TUTORIAL.de TUTORIAL.es TUTORIAL.fr TUTORIAL.it TUTORIAL.ja - TUTORIAL.ko TUTORIAL.pl TUTORIAL.ro TUTORIAL.ru TUTORIAL.sk TUTORIAL.sl - TUTORIAL.th TUTORIAL.translators TUTORIAL.zh add-log.el european.el +Marcelo Toledo: changed TUTORIAL.pt_BR TUTORIAL.cn TUTORIAL.cs + TUTORIAL.de TUTORIAL.es TUTORIAL.fr TUTORIAL.it TUTORIAL.ja TUTORIAL.ko + TUTORIAL.pl TUTORIAL.ro TUTORIAL.ru TUTORIAL.sk TUTORIAL.sl TUTORIAL.th + TUTORIAL.translators TUTORIAL.zh add-log.el european.el Marco Melgazzi: changed term.el @@ -1509,9 +1512,9 @@ Mario Lang: wrote erc-button.el erc-ibuffer.el erc-imenu.el erc-list.el erc-speedbar.el erc-stamp.el erc-track.el erc-xdcc.el and changed erc.el erc-dcc.el erc-speak.el Makefile erc-bbdb.el erc-complete.el erc-pcomplete.el erc-chess.el erc-fill.el battery.el - erc-match.el TODO erc-autojoin.el erc-nets.el erc-nickserv.el - erc-ring.el diff.el erc-ezbounce.el erc-identd.el erc-lang.el - erc-log.el and 6 other files + erc-match.el erc-autojoin.el erc-nets.el erc-nickserv.el erc-ring.el + diff.el erc-ezbounce.el erc-identd.el erc-lang.el erc-log.el + erc-macs.el and 5 other files Mark A. Hershberger: changed xml.el nnrss.el cperl-mode.el mm-url.el gnus-group.el @@ -1637,7 +1640,8 @@ Max Froumentin: changed gnus-art.el mml.el Michael Albinus: wrote tramp-ftp.el tramp-smb.el and changed tramp.el tramp.texi tramp-vc.el tramp-util.el ange-ftp.el files.el files.texi tramp-uu.el vc.el dired-x.el dired.el faq.texi - find-dired.el locate.el mini.texi tramp*.el trampver.el woman.el + find-dired.el locate.el mini.texi rcompile.el tramp*.el trampver.el + woman.el Michael Ben-Gershon: changed acorn.h configure.in riscix1-1.h riscix1-2.h unexec.c @@ -1677,9 +1681,9 @@ and changed ediff-merge.el ediff*.el viper*.el ediff-hooks.el menu-bar.el Michael Olson: changed erc.el erc-backend.el Makefile erc-stamp.el erc-track.el erc-dcc.el erc-identd.el erc-match.el erc-notify.el - erc.texi erc-ibuffer.el erc-list.el FOR-RELEASE erc-autoaway.el - erc-bbdb.el erc-compat.el erc-goodies.el erc-log.el erc-nicklist.el - erc-pcomplete.el erc-spelling.el and 40 other files + erc.texi erc-ibuffer.el erc-list.el erc-autoaway.el erc-bbdb.el + erc-compat.el erc-goodies.el erc-log.el erc-nicklist.el + erc-pcomplete.el erc-spelling.el erc-*.el and 39 other files Michael Piotrowski: changed ps-print.el @@ -1795,10 +1799,10 @@ Nevin Kapur: changed nnmail.el gnus-group.el gnus-sum.el gnus.el Niall Mansfield: changed etags.c Nick Roberts: wrote gdb-ui.el -and changed gud.el building.texi tooltip.el speedbar.el cc-mode.el - thumbs.el DEBUG subr.el xt-mouse.el .gdbinit comint.el bindings.el - descr-text.el frames.texi gud-display.pbm speedbar.texi xdisp.c TODO - byte-run.el bytecomp.el cc-vars.el and 94 other files +and changed gud.el building.texi tooltip.el speedbar.el thumbs.el + cc-mode.el DEBUG subr.el xt-mouse.el .gdbinit comint.el frames.texi + bindings.el descr-text.el display.texi gud-display.pbm help-mode.el + speedbar.texi tumme.el xdisp.c byte-run.el and 105 other files Nico Francois: changed w32fns.c w32inevt.c w32menu.c @@ -1990,7 +1994,7 @@ and changed ffap.el Ralf Angeli: wrote scroll-lock.el and changed tex-mode.el comint.el flow-fill.el gnus-art.el killing.texi - mm-view.el smtpmail.el window.c + mm-view.el pcl-cvs.texi smtpmail.el w32fns.c w32term.c window.c Ralf Fassel: changed dabbrev.el files.el fill.el iso-acc.el tar-mode.el @@ -2014,8 +2018,8 @@ Reiner Steib: wrote gmm-utils.el and changed message.el gnus-art.el gnus.texi gnus-sum.el gnus.el gnus-group.el mml.el gnus-faq.texi gnus-score.el gnus-start.el gnus-util.el gnus-msg.el message.texi gnus-agent.el files.el mm-util.el - spam-report.el nnweb.el spam.el FOR-RELEASE deuglify.el - and 152 other files + spam-report.el nnweb.el spam.el deuglify.el mm-decode.el + and 155 other files Remek Trzaska: changed gnus-ems.el @@ -2042,7 +2046,7 @@ Richard M. Stallman: wrote [The original GNU emacs and numerous files] and changed keyboard.c files.el simple.el xterm.c xdisp.c rmail.el fileio.c process.c sysdep.c xfns.c buffer.c Makefile.in window.c configure.in subr.el emacs.c sendmail.el startup.el editfns.c info.el - dispnew.c and 1319 other files + dispnew.c and 1322 other files Richard Mlynarik: wrote cl-indent.el ebuff-menu.el ehelp.el env.c rfc822.el terminal.el yow.el @@ -2102,11 +2106,11 @@ Roland Winkler: changed bibtex.el appt.el artist.el conf-mode.el Rolf Ebert: wrote ada-mode.el and changed files.el find-file.el -Romain Francoise: changed faq.texi ibuf-ext.el dired-x.el message.el - puresize.h replace.el compile.el files.texi gnus-fun.el gnus.texi - help-fns.el rcirc.el subr.el FOR-RELEASE Makefile.in antlr-mode.el +Romain Francoise: changed faq.texi ibuf-ext.el compile.el dired-x.el + message.el puresize.h replace.el files.texi gnus-fun.el gnus.texi + help-fns.el make-dist rcirc.el subr.el Makefile.in antlr-mode.el bookmark.el buffer.c comint.el diary-lib.el dired.el - and 107 other files + and 109 other files Roman Belenov: changed which-func.el @@ -2126,6 +2130,7 @@ and changed ffap.el rmailsum.el Ryszard Kubiak: changed ogonek.el Sacha Chua: wrote erc-pcomplete.el +and changed erc.el erc-button.el Saito Takuya: changed compile.el mule.el @@ -2141,8 +2146,6 @@ and changed cl-indent.el font-lock.el ange-ftp.el mouse.el tex-mode.el dired.el pcvs.el sgml-mode.el simple.el browse-url.el buff-menu.el bytecomp.el cc-mode.el compile.el etags.el and 94 other files -Sandra Jean Chua: changed erc-pcomplete.el erc.el erc-button.el - Sanghyuk Suh: changed mac-win.el macterm.c Sascha L,A|(Bdecke: wrote mml1991.el @@ -2179,7 +2182,7 @@ Sen Nagata: wrote crm.el rfc2368.el Seokchan Lee: changed message.el -Sergey Poznyakoff: changed rmail.el rmail.texi smtpmail.el +Sergey Poznyakoff: changed rmail.el mh-mime.el rmail.texi smtpmail.el Shawn M. Carey: wrote freebsd.h @@ -2234,9 +2237,9 @@ Stefan Monnier: wrote bibtex.el cvs-status.el diff-mode.el log-edit.el log-view.el pcvs-defs.el pcvs-info.el pcvs-parse.el pcvs-util.el reveal.el smerge-mode.el and changed vc.el font-lock.el pcvs.el newcomment.el subr.el lisp.h - keyboard.c tex-mode.el keymap.c alloc.c fill.el easy-mmode.el simple.el - compile.el info.el regex.c files.el syntax.c vc-hooks.el xdisp.c - vc-cvs.el and 497 other files + keyboard.c tex-mode.el fill.el keymap.c alloc.c compile.el + easy-mmode.el simple.el info.el regex.c syntax.c files.el vc-hooks.el + xdisp.c bytecomp.el and 505 other files Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi ediff-mult.el @@ -2251,7 +2254,7 @@ and changed diary-lib.el locate.el octave-inf.el replace.el hexl.el Stephen Gildea: wrote mh-funcs.el mh-pick.el refcard.tex and changed time-stamp.el mh-e.el mh-utils.el mh-comp.el mh-customize.el - files.el fortran.el mh-e.texi mh-mime.el mwheel.el tex-mode.el + fileio.c files.el fortran.el mh-e.texi mh-mime.el mwheel.el tex-mode.el Stephen J. Turnbull: changed ediff-init.el strings.texi subr.el @@ -2321,11 +2324,13 @@ Tatsuya Ichikawa: changed gnus-agent.el gnus-cache.el Ted Lemon: changed emacs.c lastfile.c puresize.h +Ted Phelps: changed mh-search.el mh-tool-bar.el + Teodor Zlatanov: wrote gnus-registry.el spam-report.el and changed spam.el gnus.el gnus-sum.el nnmail.el spam-stat.el gnus-start.el gnus.texi gnus-group.el lpath.el nnbabyl.el nnfolder.el nnimap.el nnmbox.el nnmh.el nnml.el replace.el simple.el basic.texi - building.texi commands.texi compile.el and 9 other files + building.texi commands.texi compile.el and 11 other files Terje Rosten: changed xfns.c version.el xterm.c xterm.h @@ -2337,9 +2342,9 @@ Theodore Jump: changed w32-win.el w32faces.c Thien-Thi Nguyen: wrote hideshow.el make-mms-derivative.el and changed ewoc.el info.el processes.texi zone.el Makefile.in vc.el - fileio.c scheme.el dcl-mode.el display.texi files.el lisp-mode.el + fileio.c lisp-mode.el scheme.el dcl-mode.el display.texi files.el pcvs.el sysdep.c MORE.STUFF TUTORIAL.it TUTORIAL.ja bindat.el - diary-lib.el diff-mode.el dired.el and 115 other files + diary-lib.el diff-mode.el dired.el and 121 other files Thierry Emery: changed kinsoku.el timezone.el url-http.el wid-edit.el @@ -2523,8 +2528,8 @@ Yagi Tatsuya: changed gnus-art.el gnus-start.el Yamamoto Mitsuharu: changed macterm.c macfns.c mac-win.el mac.c macterm.h macgui.h image.c macmenu.c macselect.c keyboard.c xdisp.c makefile.MPW - emacs.c macos.texi xfaces.c config.h darwin.h Makefile.in dispextern.h - w32term.c Info.plist and 55 other files + emacs.c macos.texi xfaces.c Makefile.in config.h darwin.h dispextern.h + w32term.c Info.plist and 58 other files Yann Dirson: changed imenu.el From b4f62d0a351faf60dd3a1926a2adfa11b7552123 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Thu, 13 Jul 2006 23:40:21 +0000 Subject: [PATCH 217/336] *** empty log message *** --- lispref/ChangeLog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 88bfc32905d..64a38096d64 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,9 @@ +2006-07-14 Nick Roberts + + * display.texi (Displaying Messages): Add anchor. + + * frames.texi (Dialog Boxes): Use it. + 2006-07-12 Richard Stallman * objects.texi (Frame Type): Explain nature of frames better. From b96028676212ff2a63baaf7087cd88fdc60f907b Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Thu, 13 Jul 2006 23:43:20 +0000 Subject: [PATCH 218/336] * display.texi (Displaying Messages): Add anchor. * frames.texi (Dialog Boxes): Use it. --- lispref/display.texi | 1 + lispref/frames.texi | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lispref/display.texi b/lispref/display.texi index 701957c8ad5..5687091a31f 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -279,6 +279,7 @@ You can force use of the mouse or of the echo area by binding @end defun @defun message-box format-string &rest arguments +@anchor{message-box} This function displays a message like @code{message}, but uses a dialog box (or a pop-up menu) whenever that is possible. If it is impossible to use a dialog box or pop-up menu, because the terminal does not diff --git a/lispref/frames.texi b/lispref/frames.texi index 51d83de8d94..6652c0d6eb7 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi @@ -1557,7 +1557,7 @@ window don't matter; only the frame matters. If @var{header} is non-@code{nil}, the frame title for the box is @samp{Information}, otherwise it is @samp{Question}. The former is used -for @code{message-box} (@pxref{The Echo Area}). +for @code{message-box} (@pxref{message-box}). In some configurations, Emacs cannot display a real dialog box; so instead it displays the same items in a pop-up menu in the center of the From 0b6bb13008bc74c054c00b8f9d24507dd9383689 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Fri, 14 Jul 2006 02:29:50 +0000 Subject: [PATCH 219/336] Update for ERC 5.1.3. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-348 Creator: Michael Olson --- etc/ChangeLog | 4 + etc/ERC-NEWS | 110 ++++++++++++ lisp/erc/ChangeLog | 194 +++++++++++++++++++++ lisp/erc/erc-autoaway.el | 128 +++++++++----- lisp/erc/erc-backend.el | 12 +- lisp/erc/erc-identd.el | 31 +++- lisp/erc/erc-imenu.el | 5 - lisp/erc/erc-log.el | 80 +++++---- lisp/erc/erc-match.el | 7 +- lisp/erc/erc-pcomplete.el | 27 ++- lisp/erc/erc-track.el | 2 +- lisp/erc/erc.el | 232 ++++++++++++------------- lisp/url/ChangeLog | 4 + lisp/url/url-irc.el | 4 +- man/ChangeLog | 4 + man/erc.texi | 347 ++++++++++++++++++++++++++++---------- 16 files changed, 881 insertions(+), 310 deletions(-) diff --git a/etc/ChangeLog b/etc/ChangeLog index 613ff0a095f..f2924f7640d 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,7 @@ +2006-07-12 Michael Olson + + * ERC-NEWS: Update for ERC 5.1.3. + 2006-07-08 David Kastrup * TODO: Suggest consolidation with user customization when the diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS index 67345efe090..778344c68c7 100644 --- a/etc/ERC-NEWS +++ b/etc/ERC-NEWS @@ -2,6 +2,116 @@ ERC NEWS -*- outline -*- * Changes in ERC 5.2 (unreleased) +* Changes in ERC 5.1.3 + +** Fix use of /quote command with no initial whitespace. + +** Make it possible to customize the colorization of the header line. +The `erc-header-line' face is used to color the header line. +The `erc-header-line-face-method' determines the method to use when +colorizing the header line. + +** Add the new function `erc-handle-irc-url', which is a suitable +candidate to use for `url-irc-function'. This permits some +integration of url.el and ERC. + +** Fix several errors that occur when server or channel buffers are killed +prematurely. + +** Fix toggling of flood control. + +** Match the patterns in `erc-encoding-coding-alist' as regexps, +instead of verbatim text. Also, match case-insensitively. + +** The /SMV command has been removed, since we no longer have +meaningful module-specific version information. + +** Fix a "(stringp nil)" error that can happen when doing /PART. + +** Use a better example in the `erc-part-reason-various-alist' +documentation. + +** When using `erc-quit-reason-various' and `erc-part-reason-various' +and no matches are found, default to using the ERC version string +rather than "nil". + +** Add the `list' and `page' modules to the `erc-modules' customize +interface. + +** Changes to the ERC manual + +*** Update the list of available modules. + +*** Revise information about releases and development. + +*** Provide a simpler example in the "Getting Started" chapter. + +*** Fully document how to connect to an IRC server in the new +"Connecting" chapter. + +** Changes and additions to modules + +*** Autoaway (erc-autoaway.el) + +**** Rename the `erc-autoaway-use-emacs-idle' option to +`erc-autoaway-idle-method'. + +**** Add support for autoaway based on user idle time. +This is now the default. + +**** If you set the AWAY status yourself, erc-autoaway will not +interfere by un-setting AWAY prematurely. + +**** If you are set away while visiting a non-ERC buffer, +erc-autoaway used to fail in bringing the user back. This is now +fixed. + +*** BBDB (erc-bbdb.el) + +**** Add new option `erc-bbdb-electric-p', which determines whether +to make the BBDB buffer electric. This defaults to not electric. + +*** Button (erc-button.el) + +**** Use instead of for `erc-button-previous'. + +*** Identd (erc-identd.el) + +**** Fix a bug that involves starting the identd server. + +**** Make this work with Emacs 22. + +**** Provide a real ERC module named `identd'. + +**** Don't create an extra buffer for the identd process. + +*** Logging (erc-log.el) + +**** By default, don't insert old logs when opening an ERC buffer. +This may be changed by customizing `erc-log-insert-log-on-open'. + +**** New option `erc-log-write-after-send' determines whether the +log file will be written to after every sent message. The default is +not to do this. + +**** New option `erc-log-write-after-insert' determines whether the +log file will be written to when new text is added to a logged ERC +buffer. The default is not to do this. With this option and the +previous option, logging should no longer slow down ERC as much. + +**** Default to saving buffers and queries on quit. +This may be changed by customizing the `erc-save-buffer-on-quit' and +`erc-save-queries-on-quit' options, respectively. + +**** Only perform logging when the `logging' module is added to +`erc-modules'. This prevents logging from being activated just by +loading the erc-log.el file, and makes logging act like other ERC +modules. + +*** Programmable completion (erc-pcomplete.el) + +**** Don't complete the user's current nickname. + * Changes in ERC 5.1.2 ** Fix compiler errors in erc-autojoin.el and erc-dcc.el. diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 49b274b5149..216d14d0aa6 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@ -1,3 +1,197 @@ +2006-07-12 Michael Olson + + * erc-match.el (erc-log-matches): Bind inhibit-read-only rather + than call toggle-read-only. + + * erc.el (erc-handle-irc-url): Move here from erc-goodies.el and + add autoload cookie. + +2006-07-09 Michael Olson + + * erc.el (erc-version-string): Release ERC 5.1.3. + + * erc.texi: Update for the 5.1.3 release. + + * erc-autoaway.el (erc-autoaway-set-back): Fix bug after returning + from being set automatically away and current buffer is not an ERC + buffer. + + * erc-identd.el: Fix compiler error. + + * erc.texi (Development): Use @subheading instead of @subsection. + (Advanced Usage): Add menu. + (Connecting): Fully document how to connect to an IRC server. + (Options, Tips and Tricks, Sample Configuration): New unwritten + sections. + + * erc.el (erc-server, erc-port, erc-nick, erc-nick-uniquifier) + (erc-user-full-name, erc-password): Docfixes and customization + interface tweaks. + (erc-try-new-nick-p): Rename from + `erc-manual-set-nick-on-bad-nick-p' and invert meaning. + (erc-nickname-in-use): Use `erc-try-new-nick-p'. Check the length + of `erc-nick-uniquifier', in case someone wants multiple + characters. + (erc-compute-server, erc-compute-nick, erc-compute-full-name) + (erc-compute-port): Docfixes. + + * erc-log.el (log): Move all add-hook calls here, rather than + executing them immediately, and also cause them to be un-hooked + when the module is removed. + (erc-save-buffer-on-part): Move next to + `erc-save-queries-on-quit'. + (erc-save-buffer-on-quit, erc-save-queries-on-quit): Default to t. + (erc-log-write-after-send, erc-log-write-after-insert): Default to + nil. This makes things fast, but reasonably failsafe, by default. + +2006-07-08 Michael Olson + + * erc-log.el (erc-log-insert-log-on-open): Make this nil by + default, since most IRC clients don't do this. + (erc-log-write-after-send): New option that determines whether the + log file will be written to after every sent message. + (erc-log-write-after-insert): New option that determines whether + the log file will be written to when new text is added to a logged + ERC buffer. + (log): Use the aforementioned options. + + * erc.texi (Modules): Document the "completion" module. + + * erc-pcomplete.el (pcomplete-erc-nicks): Make sure that we don't + have a nil element in the list when ignore-self is non-nil. + +2006-07-05 Michael Olson + + * erc.el (erc-modules): Add the `page' module to the list. + + * erc.texi (Modules): Add entries for `list' and `page' modules. + Change "spell" to "spelling". + (History): Use past tense throughout. + +2006-07-02 Michael Olson + + * erc-backend.el (erc-call-hooks): Fix (stringp nil) error that + can happen when doing /PART. + + * erc.el (erc-quit-reason-various-alist) + (erc-part-reason-various-alist): In the example, use "^$" as an + example, since "" matches anything. + (erc-quit-reason-various, erc-part-reason-various): If no argument + is given, and no matches are found, use our default reason instead + of "nil". + +2006-06-30 Michael Olson + + * erc.texi (Modules): Mention identd. + (Releases): Update mailing list address and download location. + (Development): Refactor. Provide updated directions for Arch. + Make URLs clickable. + (Keystroke Summary): Typo fix. Use more Texinfo syntax. + (Getting Started): Give simpler example. We do not need to + explicitly load every module. + (History): Update. + + * erc.el (erc-version-modules): Remove, since we do not use this + function anymore. + (erc-latest-version, erc-ediff-latest-version): Remove, since this + was only useful back when ERC consisted of one file. + (erc-modules): Add line for identd. + (erc-get-channel-mode-from-keypress): Typo fix. + + * erc-imenu.el: Remove unnecessary lines in header. + + * erc-goodies.el (erc-handle-irc-url): Docfix. + + * erc-identd.el: Define an ERC module for this. + (erc-identd-start): Don't create a process buffer if possible. + Otherwise, use conventional hidden names for process buffers. + +2006-06-29 Michael Olson + + * erc-backend.el (erc-coding-system-for-target): Match + case-insensitively. Use a pattern match instead of `assoc', as + per the documentation for `erc-encoding-coding-alist'. + + * erc-track.el (erc-track-shorten-aggressively): Fix typo. + +2006-06-27 Michael Olson + + * erc.el: Update maintainer information and URLs. + +2006-06-14 Michael Olson + + * erc.el (erc-active-buffer): If the active buffer has been + deleted, default to the server buffer. + (erc-toggle-flood-control): When the user hits C-c C-f, make flood + control really toggle, not unconditionally turn off. + +2006-06-12 Michael Olson + + * NEWS: Add items since the 5.1.2 release. + + * erc-autoaway.el (erc-autoaway-caused-away): New variable that + indicates whether the current away status was caused by this + module. + (erc-autoaway-set-back): Only set back if this module set the user + away. + (erc-autoaway-set-away): Update `erc-autoaway-caused-away'. + (erc-autoaway-reset-indicators): New function that resets some + indicators when the user is no longer away. + (autoaway): Add the above function to the 305 hook. + +2006-06-05 Romain Francoise + + * erc.texi (History): Fix various typos. + +2006-06-04 Michael Olson + + * erc-autoaway.el (erc-autoaway-idle-method): Move after the + definition of the autoaway module. + (autoaway): Don't do anything if erc-autoaway-idle-method is + unbound. This prevents an error on startup. + +2006-06-03 Michael Olson + + * erc-autoaway.el: Thanks to Mark Plaksin for the ideas and patch. + (erc-autoaway-idle-method): Renamed from + `erc-autoaway-use-emacs-idle'. We have more than two choices for + how to do this, so it's best to make this take symbol values. + Improve documentation. Remove warning against Emacs idle-time; + the point is moot now that we get user idle time via a different + method. Make sure we disable and re-enable the module when + changing this value. + (autoaway): Conditionalize on the above option. If using the idle + timer or user idle methods, don't add anything to the + send-completed or server-001 hooks, since it is unnecessary. + (erc-autoaway-reestablish-idletimer, erc-autoaway-message): + Docfix. + (erc-autoaway-idle-seconds): Use erc-autoaway-idle-method. + (erc-autoaway-reset-idle-irc): Renamed from + `erc-autoaway-reset-idle'. Don't pass line to + `erc-autoaway-set-away', since it is not used. + (erc-autoaway-reset-idle-user): New function that resets the idle + state for user idle time. + (erc-autoaway-set-back): Remove line argument, since it is not + used. + +2006-06-01 Michael Olson + + * erc.el (erc-buffer-filter): Make sure all buffers returned from + this are live. + +2006-05-01 Edward O'Connor + + * erc-goodies.el: (erc-handle-irc-url): New function, suitable as + a value for `url-irc-function'. + +2006-04-18 Diane Murray + + * erc-pcomplete.el (pcomplete-erc-nicks): Added new optional + argument IGNORE-SELF. If this is non-nil, don't return the user's + current nickname. Doc fix. + (pcomplete/erc-mode/complete-command): Don't complete the current + nickname. + 2006-04-05 Diane Murray * erc.el (erc-cmd-SV): Removed the exclamation point. Show the diff --git a/lisp/erc/erc-autoaway.el b/lisp/erc/erc-autoaway.el index 56713cba8bf..4614bd70e27 100644 --- a/lisp/erc/erc-autoaway.el +++ b/lisp/erc/erc-autoaway.el @@ -40,19 +40,6 @@ yourself back when you type something." "The Emacs idletimer. This is only used when `erc-autoaway-use-emacs-idle' is non-nil.") -(defcustom erc-autoaway-use-emacs-idle nil - "*If non-nil, the idle time refers to idletime in Emacs. -If nil, the idle time refers to idletime on IRC only. -The time itself is specified by `erc-autoaway-idle-seconds'. -See `erc-autoaway-mode' for more information on the various -definitions of being idle. - -Note that using Emacs idletime is currently broken for most versions, -since process activity (as happens all the time on IRC) makes Emacs -non-idle. Emacs idle-time and user idle-time are just not the same." - :group 'erc-autoaway - :type 'boolean) - ;;;###autoload (autoload 'erc-autoaway-mode "erc-autoaway") (define-erc-module autoaway nil "In ERC autoaway mode, you can be set away automatically. @@ -61,35 +48,65 @@ the number of seconds specified in `erc-autoaway-idle-seconds'. There are several kinds of being idle: -IRC idle time measures how long since you last sent something (see -`erc-autoaway-last-sent-time'). This is the default. +User idle time measures how long you have not been sending any +commands to Emacs. This is the default. Emacs idle time measures how long Emacs has been idle. This is currently not useful, since Emacs is non-idle when it handles -ping-pong with IRC servers. See `erc-autoaway-use-emacs-idle' for -more information. +ping-pong with IRC servers. See `erc-autoaway-idle-method' +for more information. -User idle time measures how long you have not been sending any -commands to Emacs, or to your system. Emacs currently provides no way -to measure user idle time. +IRC idle time measures how long since you last sent something (see +`erc-autoaway-last-sent-time'). If `erc-auto-discard-away' is set, then typing anything, will set you no longer away. Related variables: `erc-public-away-p' and `erc-away-nickname'." ;; Enable: - ((add-hook 'erc-send-completed-hook 'erc-autoaway-reset-idletime) - (add-hook 'erc-server-001-functions 'erc-autoaway-reset-idletime) - (add-hook 'erc-timer-hook 'erc-autoaway-possibly-set-away) - (when erc-autoaway-use-emacs-idle - (erc-autoaway-reestablish-idletimer))) + ((when (boundp 'erc-autoaway-idle-method) + (cond + ((eq erc-autoaway-idle-method 'irc) + (add-hook 'erc-send-completed-hook 'erc-autoaway-reset-idle-irc) + (add-hook 'erc-server-001-functions 'erc-autoaway-reset-idle-irc)) + ((eq erc-autoaway-idle-method 'user) + (add-hook 'post-command-hook 'erc-autoaway-reset-idle-user)) + ((eq erc-autoaway-idle-method 'emacs) + (erc-autoaway-reestablish-idletimer))) + (add-hook 'erc-timer-hook 'erc-autoaway-possibly-set-away) + (add-hook 'erc-server-305-functions 'erc-autoaway-reset-indicators))) ;; Disable: - ((remove-hook 'erc-send-completed-hook 'erc-autoaway-reset-idletime) - (remove-hook 'erc-server-001-functions 'erc-autoaway-reset-idletime) - (remove-hook 'erc-timer-hook 'erc-autoaway-possibly-set-away) - (when erc-autoaway-idletimer - (erc-cancel-timer erc-autoaway-idletimer) - (setq erc-autoaway-idletimer nil)))) + ((when (boundp 'erc-autoaway-idle-method) + (cond + ((eq erc-autoaway-idle-method 'irc) + (remove-hook 'erc-send-completed-hook 'erc-autoaway-reset-idle-irc) + (remove-hook 'erc-server-001-functions 'erc-autoaway-reset-idle-irc)) + ((eq erc-autoaway-idle-method 'user) + (remove-hook 'post-command-hook 'erc-autoaway-reset-idle-user)) + ((eq erc-autoaway-idle-method 'emacs) + (erc-cancel-timer erc-autoaway-idletimer) + (setq erc-autoaway-idletimer nil))) + (remove-hook 'erc-timer-hook 'erc-autoaway-possibly-set-away) + (remove-hook 'erc-server-305-functions 'erc-autoaway-reset-indicators)))) + +(defcustom erc-autoaway-idle-method 'user + "*The method used to determine how long you have been idle. +If 'user, the time of the last command sent to Emacs is used. +If 'emacs, the idle time in Emacs is used. +If 'irc, the time of the last IRC command is used. + +The time itself is specified by `erc-autoaway-idle-seconds'. + +See `erc-autoaway-mode' for more information on the various +definitions of being idle." + :group 'erc-autoaway + :type '(choice (const :tag "User idle time" user) + (const :tag "Emacs idle time" emacs) + (const :tag "Last IRC action" irc)) + :set (lambda (sym val) + (erc-autoaway-disable) + (set-default sym val) + (erc-autoaway-enable))) (defcustom erc-auto-set-away t "*If non-nil, set away after `erc-autoaway-idle-seconds' seconds of idling. @@ -120,8 +137,8 @@ See `erc-auto-discard-away'." (defun erc-autoaway-reestablish-idletimer () "Reestablish the emacs idletimer. -You have to call this function each time you change -`erc-autoaway-idle-seconds', if `erc-autoaway-use-emacs-idle' is set." +If `erc-autoaway-idle-method' is 'emacs, you must call this +function each time you change `erc-autoaway-idle-seconds'." (interactive) (when erc-autoaway-idletimer (erc-cancel-timer erc-autoaway-idletimer)) @@ -138,36 +155,49 @@ you have to run `erc-autoaway-reestablish-idletimer' afterwards." :group 'erc-autoaway :set (lambda (sym val) (set-default sym val) - (when erc-autoaway-use-emacs-idle + (when (eq erc-autoaway-idle-method 'emacs) (erc-autoaway-reestablish-idletimer))) :type 'number) (defcustom erc-autoaway-message "I'm gone (autoaway after %i seconds of idletime)" - "*Message ERC will use when he sets you automatically away. -It is used as a `format' string with the argument of the idletime in -seconds." + "*Message ERC will use when setting you automatically away. +It is used as a `format' string with the argument of the idletime +in seconds." :group 'erc-autoaway :type 'string) (defvar erc-autoaway-last-sent-time (erc-current-time) "The last time the user sent something.") -(defun erc-autoaway-reset-idletime (line &rest stuff) - "Reset the stored idletime for the user. -This is one global variable since a user talking on one net can talk -on another net too." +(defvar erc-autoaway-caused-away nil + "Indicates whether this module was responsible for setting the +user's away status.") + +(defun erc-autoaway-reset-idle-user (&rest stuff) + "Reset the stored user idle time. +This is one global variable since a user talking on one net can +talk on another net too." + (when erc-auto-discard-away + (erc-autoaway-set-back)) + (setq erc-autoaway-last-sent-time (erc-current-time))) + +(defun erc-autoaway-reset-idle-irc (line &rest stuff) + "Reset the stored IRC idle time. +This is one global variable since a user talking on one net can +talk on another net too." (when (and erc-auto-discard-away (stringp line) (not (string-match erc-autoaway-no-auto-discard-regexp line))) - (erc-autoaway-set-back line)) + (erc-autoaway-set-back)) (setq erc-autoaway-last-sent-time (erc-current-time))) -(defun erc-autoaway-set-back (line) +(defun erc-autoaway-set-back () "Discard the away state globally." - (when (erc-away-p) - (setq erc-autoaway-last-sent-time (erc-current-time)) - (erc-cmd-GAWAY ""))) + (let ((server-buffer (car (erc-buffer-list #'erc-server-buffer-p)))) + (when (and erc-autoaway-caused-away + (with-current-buffer server-buffer (erc-away-p))) + (erc-cmd-GAWAY "")))) (defun erc-autoaway-possibly-set-away (current-time) "Set autoaway when `erc-auto-set-away' is true and the idletime is @@ -193,8 +223,14 @@ exceeds `erc-autoaway-idle-seconds'." ;; existing process. (when (and (erc-server-process-alive) (not (erc-away-p))) + (setq erc-autoaway-caused-away t) (erc-cmd-GAWAY (format erc-autoaway-message idle-time)))) +(defun erc-autoaway-reset-indicators (&rest stuff) + "Reset indicators used by the erc-autoaway module." + (setq erc-autoaway-last-sent-time (erc-current-time)) + (setq erc-autoaway-caused-away nil)) + (provide 'erc-autoaway) ;;; erc-autoaway.el ends here diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el index 3ea0f74eed7..7dce9e4bf01 100644 --- a/lisp/erc/erc-backend.el +++ b/lisp/erc/erc-backend.el @@ -563,7 +563,11 @@ action." "Return the coding system or cons cell appropriate for TARGET. This is determined via `erc-encoding-coding-alist' or `erc-server-coding-system'." - (or (cdr (assoc target erc-encoding-coding-alist)) + (or (let ((case-fold-search t)) + (catch 'match + (dolist (pat erc-encoding-coding-alist) + (when (string-match (car pat) target) + (throw 'match (cdr pat)))))) (and (functionp erc-server-coding-system) (funcall erc-server-coding-system)) erc-server-coding-system)) @@ -849,8 +853,10 @@ Finds hooks by looking in the `erc-server-responses' hashtable." (let ((hook (or (erc-get-hook (erc-response.command message)) 'erc-default-server-functions))) (run-hook-with-args-until-success hook process message) - (with-current-buffer (erc-server-buffer) - (run-hook-with-args 'erc-timer-hook (erc-current-time))))) + (let ((server-buffer (erc-server-buffer))) + (when (buffer-live-p server-buffer) + (with-current-buffer server-buffer + (run-hook-with-args 'erc-timer-hook (erc-current-time))))))) (add-hook 'erc-default-server-functions 'erc-handle-unknown-server-response) diff --git a/lisp/erc/erc-identd.el b/lisp/erc/erc-identd.el index 0f70aab0fbd..f30c40d4792 100644 --- a/lisp/erc/erc-identd.el +++ b/lisp/erc/erc-identd.el @@ -24,16 +24,32 @@ ;;; Commentary: -;; You can have a local identd server (running on port 8113; I use DNAT -;; to bind 113->8113) if you add this to .emacs.el: +;; This module allows you to run a local identd server on port 8113. +;; You will need to set up DNAT to bind 113->8113, or use a proxy. -;; (add-hook 'erc-connect-pre-hook 'erc-identd-start) -;; (add-hook 'erc-disconnected-hook 'erc-identd-stop) +;; To use this module, add identd to `erc-modules' and run +;; `erc-update-modules'. + +;; Here is an example /etc/inetd.conf rule that forwards identd +;; traffic to port 8113. You will need simpleproxy installed for it +;; to work. + +;; 113 stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/simpleproxy simpleproxy -i -R 127.0.0.1:8113 ;;; Code: +(require 'erc) + (defvar erc-identd-process nil) +;;;###autoload (autoload 'erc-identd-mode "erc-identd") +(define-erc-module identd nil + "This mode launches an identd server on port 8113." + ((add-hook 'erc-connect-pre-hook 'erc-identd-start) + (add-hook 'erc-disconnected-hook 'erc-identd-stop)) + ((remove-hook 'erc-connect-pre-hook 'erc-identd-start) + (remove-hook 'erc-disconnected-hook 'erc-identd-stop))) + (defun erc-identd-filter (proc string) "This filter implements RFC1413 (identd authentication protocol)." (let ((erc-identd-process proc)) @@ -63,10 +79,11 @@ system." (delete-process erc-identd-process)) (setq erc-identd-process (make-network-process :name "identd" - :buffer (generate-new-buffer "identd") + :buffer nil :host 'local :service port - :server t :noquery t - :filter 'erc-identd-filter))) + :server t :noquery t :nowait t + :filter 'erc-identd-filter)) + (set-process-query-on-exit-flag erc-identd-process nil)) ;;;###autoload (defun erc-identd-stop (&rest ignore) diff --git a/lisp/erc/erc-imenu.el b/lisp/erc/erc-imenu.el index 88de1cedf6e..e897a9d8a0c 100644 --- a/lisp/erc/erc-imenu.el +++ b/lisp/erc/erc-imenu.el @@ -31,11 +31,6 @@ ;;; Code: - -;; Author: Mario Lang - -;; This file is not part of GNU Emacs. But the same license applies. - ;;; Commentary: ;; This package defines the function `erc-create-imenu-index'. ERC diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index db60e5629bf..b316a8588bd 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el @@ -115,11 +115,6 @@ SERVER and PORT are the parameters used to connect BUFFERs (const erc-generate-log-file-name-with-date) (symbol))) -(defcustom erc-save-buffer-on-part nil - "*Save the channel buffer content using `erc-save-buffer-in-logs' on PART." - :group 'erc-log - :type 'boolean) - (defcustom erc-truncate-buffer-on-save nil "Truncate any ERC (channel, query, server) buffer when it is saved." :group 'erc-log @@ -150,14 +145,41 @@ directory should not end with a trailing slash." :type '(choice directory (const nil))) -(defcustom erc-log-insert-log-on-open t +(defcustom erc-log-insert-log-on-open nil "*Insert log file contents into the buffer if a log file exists." :group 'erc-log :type 'boolean) -(defcustom erc-save-queries-on-quit nil - "Save all query (also channel) buffers of the server on QUIT. -See the variable `erc-save-buffer-on-part' for details." +(defcustom erc-save-buffer-on-part t + "*Save the channel buffer content using `erc-save-buffer-in-logs' on PART. + +If you set this to nil, you may want to enable both +`erc-log-write-after-send' and `erc-log-write-after-insert'." + :group 'erc-log + :type 'boolean) + +(defcustom erc-save-queries-on-quit t + "*Save all query (also channel) buffers of the server on QUIT. + +If you set this to nil, you may want to enable both +`erc-log-write-after-send' and `erc-log-write-after-insert'." + :group 'erc-log + :type 'boolean) + +(defcustom erc-log-write-after-send nil + "*If non-nil, write to log file after every message you send. + +If you set this to nil, you may want to enable both +`erc-save-buffer-on-part' and `erc-save-queries-on-quit'." + :group 'erc-log + :type 'boolean) + +(defcustom erc-log-write-after-insert nil + "*If non-nil, write to log file when new text is added to a +logged ERC buffer. + +If you set this to nil, you may want to enable both +`erc-save-buffer-on-part' and `erc-save-queries-on-quit'." :group 'erc-log :type 'boolean) @@ -187,29 +209,28 @@ also be a predicate function. To only log when you are not set away, use: (with-current-buffer buffer (not erc-away))))" ;; enable - ((add-hook 'erc-insert-post-hook - 'erc-save-buffer-in-logs) - (add-hook 'erc-send-post-hook - 'erc-save-buffer-in-logs)) + ((when erc-log-write-after-insert + (add-hook 'erc-insert-post-hook 'erc-save-buffer-in-logs)) + (when erc-log-write-after-send + (add-hook 'erc-send-post-hook 'erc-save-buffer-in-logs)) + (add-hook 'erc-kill-buffer-hook 'erc-save-buffer-in-logs) + (add-hook 'erc-kill-channel-hook 'erc-save-buffer-in-logs) + (add-hook 'erc-quit-hook 'erc-conditional-save-queries) + (add-hook 'erc-part-hook 'erc-conditional-save-buffer) + ;; append, so that 'erc-initialize-log-marker runs first + (add-hook 'erc-connect-pre-hook 'erc-log-setup-logging 'append)) ;; disable - ((remove-hook 'erc-insert-post-hook - 'erc-save-buffer-in-logs) - (remove-hook 'erc-send-post-hook - 'erc-save-buffer-in-logs))) - -(when erc-enable-logging - (add-hook 'erc-kill-buffer-hook - 'erc-save-buffer-in-logs) - (add-hook 'erc-kill-channel-hook - 'erc-save-buffer-in-logs) - (add-hook 'erc-quit-hook - 'erc-conditional-save-queries) - (add-hook 'erc-part-hook - 'erc-conditional-save-buffer)) + ((remove-hook 'erc-insert-post-hook 'erc-save-buffer-in-logs) + (remove-hook 'erc-send-post-hook 'erc-save-buffer-in-logs) + (remove-hook 'erc-kill-buffer-hook 'erc-save-buffer-in-logs) + (remove-hook 'erc-kill-channel-hook 'erc-save-buffer-in-logs) + (remove-hook 'erc-quit-hook 'erc-conditional-save-queries) + (remove-hook 'erc-part-hook 'erc-conditional-save-buffer) + (remove-hook 'erc-connect-pre-hook 'erc-log-setup-logging))) (define-key erc-mode-map "\C-c\C-l" 'erc-save-buffer-in-logs) -;;;functionality referenced from erc.el +;;; functionality referenced from erc.el (defun erc-log-setup-logging () "Setup the buffer-local logging variables in the current buffer. This function is destined to be run from `erc-connect-pre-hook'." @@ -224,9 +245,6 @@ This function is destined to be run from `erc-connect-pre-hook'." (move-marker erc-last-saved-position (1- (point-max))))))) -;;; Append, so that 'erc-initialize-log-marker keeps running first. -(add-hook 'erc-connect-pre-hook 'erc-log-setup-logging 'append) - (defun erc-log-all-but-server-buffers (buffer) "Returns t if logging should be enabled in BUFFER. Returns nil iff `erc-server-buffer-p' returns t." diff --git a/lisp/erc/erc-match.el b/lisp/erc/erc-match.el index 88c6d4c425d..ffbc7482aae 100644 --- a/lisp/erc/erc-match.el +++ b/lisp/erc/erc-match.el @@ -553,10 +553,9 @@ deactivate/activate match logging in the latter. See ?m message ?u nickuserhost)))) (with-current-buffer (erc-log-matches-make-buffer match-buffer-name) - (toggle-read-only -1) - (point-max) - (insert line) - (toggle-read-only 1)))))) + (let ((inhibit-read-only t)) + (goto-char (point-max)) + (insert line))))))) (defun erc-log-matches-make-buffer (name) "Create or get a log-matches buffer named NAME and return it." diff --git a/lisp/erc/erc-pcomplete.el b/lisp/erc/erc-pcomplete.el index d6d4dfdd3b3..33231ee2590 100644 --- a/lisp/erc/erc-pcomplete.el +++ b/lisp/erc/erc-pcomplete.el @@ -106,7 +106,7 @@ the most recent speakers are listed first." (pcomplete-here (append (pcomplete-erc-commands) - (pcomplete-erc-nicks erc-pcomplete-nick-postfix)))) + (pcomplete-erc-nicks erc-pcomplete-nick-postfix t)))) (defvar erc-pcomplete-ctcp-commands '("ACTION" "CLIENTINFO" "ECHO" "FINGER" "PING" "TIME" "USERINFO" "VERSION")) @@ -212,14 +212,23 @@ the most recent speakers are listed first." not-ops)) -(defun pcomplete-erc-nicks (&optional postfix) - "Returns a list of nicks in the current channel." - (let ((users (erc-get-channel-user-list))) - (if erc-pcomplete-order-nickname-completions - (setq users (erc-sort-channel-users-by-activity users))) - (mapcar (lambda (x) - (concat (erc-server-user-nickname (car x)) postfix)) - users))) +(defun pcomplete-erc-nicks (&optional postfix ignore-self) + "Returns a list of nicks in the current channel. +Optional argument POSTFIX is something to append to the nickname. +If optional argument IGNORE-SELF is non-nil, don't return the current nick." + (let ((users (if erc-pcomplete-order-nickname-completions + (erc-sort-channel-users-by-activity + (erc-get-channel-user-list)) + (erc-get-channel-user-list))) + (nicks nil)) + (dolist (user users) + (unless (and ignore-self + (string= (erc-server-user-nickname (car user)) + (erc-current-nick))) + (setq nicks (cons (concat (erc-server-user-nickname (car user)) + postfix) + nicks)))) + (nreverse nicks))) (defun pcomplete-erc-all-nicks (&optional postfix) "Returns a list of all nicks on the current server." diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el index 63005678613..b045fb24999 100644 --- a/lisp/erc/erc-track.el +++ b/lisp/erc/erc-track.el @@ -108,7 +108,7 @@ If this variable is set to `max', then channel names will be shortened to the max. Usually, shortened channel names will remain unique for a given set of existing channels. When shortening to the max, the shortened channel names will be unique for the set of active channels only. -Example: If there are tow active channels #emacs and #vi, and two inactive +Example: If there are two active channels #emacs and #vi, and two inactive channels #electronica and #folk, then usually the active channels are shortened to #em and #v. When shortening to the max, however, #emacs is not compared to #electronica -- only to #vi, therefore it can be shortened diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 1baede01259..fd5a49eae4b 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -11,7 +11,7 @@ ;; Andreas Fuchs (afs@void.at) ;; Gergely Nagy (algernon@midgard.debian.net) ;; David Edmondson (dme@dme.org) -;; Maintainer: Mario Lang (mlang@delysid.org) +;; Maintainer: Michael Olson (mwolson@gnu.org) ;; Keywords: IRC, chat, client, Internet ;; This file is part of GNU Emacs. @@ -36,12 +36,13 @@ ;; ERC is an IRC client for Emacs. ;; For more information, see the following URLs: -;; * http://sf.net/projects/erc/ +;; * http://sv.gnu.org/projects/erc/ ;; * http://www.emacswiki.org/cgi-bin/wiki.pl?EmacsIRCClient -;; Jul-26-2001. erc.el is now in CVS on SourceForge. I invite everyone -;; who wants to hack it to contact me in order to -;; get write access on the CVS. +;; As of 2006-06-13, ERC development is now hosted on Savannah +;; (http://sv.gnu.org/projects/erc). I invite everyone who wants to +;; hack on it to contact me in order to get write +;; access to the shared Arch archive. ;; Installation: @@ -66,7 +67,7 @@ ;;; Code: -(defconst erc-version-string "Version 5.1.2" +(defconst erc-version-string "Version 5.1.3" "ERC version. This is used by function `erc-version'.") (eval-when-compile (require 'cl)) @@ -77,12 +78,12 @@ (require 'erc-menu) (defvar erc-official-location - "http://erc.sf.net (comments mailto://mlang@delysid.org)" + "http://emacswiki.org/cgi-bin/wiki/ERC (mailing list: erc-discuss@gnu.org)" "Location of the ERC client on the Internet.") (defgroup erc nil "Emacs Internet Relay Chat client." - :link '(url-link "http://www.emacswiki.org/cgi-bin/wiki.pl?EmacsIRCClient") + :link '(url-link "http://www.emacswiki.org/cgi-bin/wiki/ERC") :prefix "erc-" :group 'applications) @@ -143,57 +144,69 @@ ;; tunable connection and authentication parameters (defcustom erc-server nil - "IRC server to use. + "IRC server to use if one is not provided. See function `erc-compute-server' for more details on connection parameters and authentication." :group 'erc - :type '(choice (const nil) string)) + :type '(choice (const :tag "None" nil) + (string :tag "Server"))) (defcustom erc-port nil - "IRC port to use." + "IRC port to use if not specified. + +This can be either a string or a number." :group 'erc - :type '(choice (const nil) number string)) + :type '(choice (const :tag "None" nil) + (const :tag "Port number" number) + (const :tag "Port string" string))) (defcustom erc-nick nil - "Nickname to use. + "Nickname to use if one is not provided. -Can be either a string, or a list of strings. +This can be either a string, or a list of strings. In the latter case, if the first nick in the list is already in use, other nicks are tried in the list order. See function `erc-compute-nick' for more details on connection parameters and authentication." :group 'erc - :type '(choice (const nil) + :type '(choice (const :tag "None" nil) (string :tag "Nickname") - (repeat string))) + (repeat (string :tag "Nickname")))) (defcustom erc-nick-uniquifier "`" - "The character to append to the nick if it is already in use." + "The string to append to the nick if it is already in use." :group 'erc :type 'string) -(defcustom erc-manual-set-nick-on-bad-nick-p nil - "If the nickname you chose isn't available, ERC should not automatically -attempt to set another nickname. You can manually set another nickname with -the /NICK command." +(defcustom erc-try-new-nick-p t + "If the nickname you chose isn't available, and this option is non-nil, +ERC should automatically attempt to connect with another nickname. + +You can manually set another nickname with the /NICK command." :group 'erc :type 'boolean) (defcustom erc-user-full-name nil "User full name. +This can be either a string or a function to call. + See function `erc-compute-full-name' for more details on connection parameters and authentication." :group 'erc - :type '(choice (const nil) string function) + :type '(choice (const :tag "No name" nil) + (string :tag "Name") + (function :tag "Get from function")) :set (lambda (sym val) (if (functionp val) (set sym (funcall val)) (set sym val)))) (defvar erc-password nil - "ERC password to use in authentication (not necessary).") + "Password to use when authenticating to an IRC server. +It is not strictly necessary to provide this, since ERC will +prompt you for it.") (defcustom erc-user-mode nil "Initial user modes to be set after a connection is established." @@ -871,7 +884,7 @@ As an example: (\"xmms\" dme:now-playing) (\"version\" erc-quit-reason-normal) (\"home\" \"Gone home !\") - (\"\" \"Default Reason\"))) + (\"^$\" \"Default Reason\"))) If the user types \"/quit zippy\", then a Zippy the Pinhead quotation will be used as the quit message." :group 'erc-quit-and-part @@ -895,7 +908,7 @@ As an example: (\"xmms\" dme:now-playing) (\"version\" erc-part-reason-normal) (\"home\" \"Gone home !\") - (\"\" \"Default Reason\"))) + (\"^$\" \"Default Reason\"))) If the user types \"/part zippy\", then a Zippy the Pinhead quotation will be used as the part message." :group 'erc-quit-and-part @@ -1373,7 +1386,10 @@ server buffer") (defun erc-active-buffer () "Return the value of `erc-active-buffer' for the current server. Defaults to the server buffer." - (with-current-buffer (erc-server-buffer) erc-active-buffer)) + (with-current-buffer (erc-server-buffer) + (if (buffer-live-p erc-active-buffer) + erc-active-buffer) + (setq erc-active-buffer (current-buffer)))) (defun erc-set-active-buffer (buffer) "Set the value of `erc-active-buffer' to BUFFER." @@ -1595,12 +1611,13 @@ server connection, or nil which means all open connections." (delq nil (mapcar (lambda (buf) - (with-current-buffer buf - (and (eq major-mode 'erc-mode) - (or (not proc) - (eq proc erc-server-process)) - (funcall predicate) - buf))) + (when (buffer-live-p buf) + (with-current-buffer buf + (and (eq major-mode 'erc-mode) + (or (not proc) + (eq proc erc-server-process)) + (funcall predicate) + buf)))) (buffer-list))))) (defun erc-buffer-list (&optional predicate proc) @@ -1760,11 +1777,12 @@ removed from the list will be disabled." :greedy t (const :tag "Set away status automatically" autoaway) (const :tag "Join channels automatically" autojoin) - (const :tag "Integrate with Big Brother Database" bbdb) (const :tag "Buttonize URLs, nicknames, and other text" button) (const :tag "Wrap long lines" fill) + (const :tag "Launch an identd server on port 8113" identd) (const :tag "Highlight or remove IRC control characters" irccontrols) + (const :tag "List channels in a separate buffer" list) (const :tag "Save buffers in logs" log) (const :tag "Highlight pals, fools, and other keywords" match) (const :tag "Detect netsplits" netsplit) @@ -1776,6 +1794,7 @@ removed from the list will be disabled." (const :tag "Complete nicknames and commands (programmable)" completion) (const :tag "Complete nicknames and commands (old)" hecomplete) + (const :tag "Process CTCP PAGE requests from IRC" page) (const :tag "Make displayed lines read-only" readonly) (const :tag "Replace text in messages" replace) (const :tag "Enable an input history" ring) @@ -2063,10 +2082,12 @@ Non-interactively, it takes keyword arguments (full-name (erc-compute-full-name))) That is, if called with + (erc-select :server \"irc.freenode.net\" :full-name \"Harry S Truman\") + server and full-name will be set to those values, whereas -erc-compute-port, erc-compute-nick and erc-compute-full-name will -be invoked for those parameters' values" +`erc-compute-port', `erc-compute-nick' and `erc-compute-full-name' will +be invoked for the values of the other parameters." (interactive (erc-select-read-args)) (run-hook-with-args 'erc-before-connect server port nick) @@ -3047,8 +3068,8 @@ If S is non-nil, it will be used as the quit reason." (cond ((functionp res) (funcall res)) ((stringp res) res) - ;; hopefully never reached - (s)))) + (s s) + (t (erc-quit-reason-normal))))) (defun erc-part-reason-normal (&optional s) "Normal part message. @@ -3074,7 +3095,8 @@ If S is non-nil, it will be used as the quit reason." (cond ((functionp res) (funcall res)) ((stringp res) res) - (s)))) + (s s) + (t (erc-part-reason-normal))))) (defun erc-cmd-QUIT (reason) "Disconnect from the current server. @@ -3713,7 +3735,7 @@ E.g. \"Read error to Nick [user@some.host]: 110\" would be shortened to "If NICK is unavailable, tell the user the REASON. See also `erc-display-error-notice'." - (if (or erc-manual-set-nick-on-bad-nick-p + (if (or (not erc-try-new-nick-p) ;; how many default-nicks are left + one more try... (eq erc-nick-change-attempt-count (if (consp erc-nick) @@ -3735,12 +3757,13 @@ See also `erc-display-error-notice'." (setq newnick (concat (truncate-string-to-width nick (if (and erc-server-connected nicklen) - (- (string-to-number nicklen) 1) + (- (string-to-number nicklen) + (length erc-nick-uniquifier)) ;; rfc2812 max nick length = 9 ;; we must assume this is the ;; server's setting if we haven't ;; established a connection yet - 8)) + (- 9 (length erc-nick-uniquifier)))) erc-nick-uniquifier))) (erc-cmd-NICK newnick) (erc-display-error-notice @@ -5098,13 +5121,16 @@ If ARG is non-nil and not positive, turns CTCP replies off." (defun erc-toggle-flood-control (&optional arg) "Toggle use of flood control on sent messages. -If ARG is non-nil, use flood control. -If ARG is nil, do not use flood control. +If ARG is positive, use flood control. +If ARG is non-nil and not positive, do not use flood control. See `erc-server-flood-margin' for an explanation of the available flood control parameters." (interactive "P") - (setq erc-flood-protect arg) + (cond ((and (numberp arg) (> arg 0)) + (setq erc-flood-protect t)) + (arg (setq erc-flood-protect nil)) + (t (setq erc-flood-protect (not erc-flood-protect)))) (message "ERC flood control is %s" (cond (erc-flood-protect "ON") (t "OFF")))) @@ -5130,10 +5156,10 @@ This command is sent even if excess flood is detected." (defun erc-get-channel-mode-from-keypress (key) "Read a key sequence and call the corresponding channel mode function. -After doing C-c C-o type in a channel mode letter. +After doing C-c C-o, type in a channel mode letter. C-g means quit. -RET let's you type more than one mode at a time. +RET lets you type more than one mode at a time. If \"l\" is pressed, `erc-set-channel-limit' gets called. If \"k\" is pressed, `erc-set-channel-key' gets called. Anything else will be sent to `erc-toggle-channel-mode'." @@ -5384,28 +5410,28 @@ Sets the buffer local variables: (defun erc-compute-server (&optional server) "Return an IRC server name. -Tries a number of increasingly more default methods until a non-nil value is -found: +This tries a number of increasingly more default methods until a +non-nil value is found. -- SERVER -- `erc-server' +- SERVER (the argument passwd to this function) +- The `erc-server' option - The value of the IRCSERVER environment variable -- `erc-default-server'." +- The `erc-default-server' variable" (or server erc-server (getenv "IRCSERVER") erc-default-server)) (defun erc-compute-nick (&optional nick) - "Return user's NICK. + "Return user's IRC nick. -Tries a number of increasingly more default methods until a non-nil value is -found: +This tries a number of increasingly more default methods until a +non-nil value is found. -- NICK -- `erc-nick' +- NICK (the argument passed to this function) +- The `erc-nick' option - The value of the IRCNICK environment variable -- via the function `user-login-name'." +- The result from the `user-login-name' function" (or nick (if (consp erc-nick) (car erc-nick) erc-nick) (getenv "IRCNICK") @@ -5413,15 +5439,15 @@ found: (defun erc-compute-full-name (&optional full-name) - "Return user's FULL-NAME. + "Return user's full name. -Tries a number of increasingly more default methods until a non-nil value is -found: +This tries a number of increasingly more default methods until a +non-nil value is found. -- FULL-NAME -- `erc-user-full-name' +- FULL-NAME (the argument passed to this function) +- The `erc-user-full-name' option - The value of the IRCNAME environment variable -- via the function `user-full-name'." +- The result from the `user-full-name' function" (or full-name erc-user-full-name (getenv "IRCNAME") @@ -5431,12 +5457,13 @@ found: (defun erc-compute-port (&optional port) "Return a port for an IRC server. -Tries a number of increasingly more default methods until a non-nil -value is found: +This tries a number of increasingly more default methods until a +non-nil value is found. -- PORT -- \"ircd\"." - (or port erc-port "ircd")) +- PORT (the argument passed to this function) +- The `erc-port' option +- The `erc-default-port' variable" + (or port erc-port erc-default-port)) ;; time routines @@ -5818,26 +5845,6 @@ If optional argument HERE is non-nil, insert version number at point." (message "%s" version-string) version-string)))) -(defun erc-version-modules (&optional here) - "Show the version numbers of all loaded ERC modules in the minibuffer. -If optional argument HERE is non-nil, insert version number at point." - (interactive "P") - (let ((version-string - (mapconcat 'identity - (let (versions (case-fold-search nil)) - (dolist (var (apropos-internal "^erc-.*version$")) - (when (and (boundp var) - (stringp (symbol-value var))) - (setq versions (cons (format "%S: %s" - var (symbol-value var)) - versions)))) - versions) ", "))) - (if here - (insert version-string) - (if (interactive-p) - (message "%s" version-string) - version-string)))) - (defun erc-modes (&optional here) "Show the active ERC modes in the minibuffer. If optional argument HERE is non-nil, insert version number at point." @@ -5858,32 +5865,6 @@ If optional argument HERE is non-nil, insert version number at point." (message "%s" string) string)))) -(defun erc-latest-version () - "Retrieve the latest erc.el version from CVS." - (interactive) - (if (ignore-errors (require 'url)) - (progn - (switch-to-buffer (get-buffer-create "*erc.el latest version*")) - (delete-region (point-min) (point-max)) - (kill-all-local-variables) - (url-insert-file-contents (concat - "http://cvs.sourceforge.net/viewcvs.py/" - "*checkout*/erc/erc/erc.el?content-type" - "=text%2Fplain&rev=HEAD")) - (emacs-lisp-mode) - (current-buffer)) - (error "URL needs to be installed"))) - -(defun erc-ediff-latest-version () - "Ediff your installed erc.el with the latest CVS version. -See also `erc-latest-version'." - (interactive) - (let ((current (locate-library "erc.el"))) - (if current - (ediff-buffers (find-file current) - (erc-latest-version)) - (error "You do not appear to have the uncompiled erc.el file")))) - (defun erc-trim-string (s) "Trim leading and trailing spaces off S." (cond @@ -6184,6 +6165,29 @@ This function should be on `erc-kill-channel-hook'." (and vect (erc-response.command vect))) +;; Teach url.el how to open irc:// URLs with ERC. +;; To activate, customize `url-irc-function' to `url-irc-erc'. + +;;;###autoload +(defun erc-handle-irc-url (host port channel user password) + "Use ERC to IRC on HOST:PORT in CHANNEL as USER with PASSWORD. +If ERC is already connected to HOST:PORT, simply /join CHANNEL. +Otherwise, connect to HOST:PORT as USER and /join CHANNEL." + (let ((server-buffer + (car (erc-buffer-filter + (lambda () + (and (string-equal erc-session-server host) + (= erc-session-port port) + erc-server-connected + (eq (erc-server-buffer) (current-buffer)))))))) + (with-current-buffer (or server-buffer (current-buffer)) + (if (and server-buffer channel) + (erc-cmd-JOIN channel) + (erc host port (or user (erc-compute-nick)) (erc-compute-full-name) + (not server-buffer) password nil channel + (when server-buffer + (get-buffer-process server-buffer))))))) + (provide 'erc) ;;; Deprecated. We might eventually stop requiring the goodies automatically. diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 0eb0b654053..901fac01208 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,7 @@ +2006-07-12 Michael Olson + + * url-irc.el (url-irc-erc): Call erc-handle-irc-url. + 2006-07-11 Stefan Monnier * url-cookie.el: Remove spurious * in docstrings. diff --git a/lisp/url/url-irc.el b/lisp/url/url-irc.el index 6a7a62573e9..19eec6f2ef2 100644 --- a/lisp/url/url-irc.el +++ b/lisp/url/url-irc.el @@ -68,9 +68,7 @@ PASSWORD - What password to use" (switch-to-buffer (concat chan "@" host))))) (defun url-irc-erc (host port channel user password) - (erc-select :server host :port port :nick user :password password) - (when channel - (erc-join-channel channel))) + (erc-handle-irc-url host port channel user password)) ;;;###autoload (defun url-irc (url) diff --git a/man/ChangeLog b/man/ChangeLog index 060d66c9c18..851c37cfdb2 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,7 @@ +2006-07-12 Michael Olson + + * erc.texi: Update for ERC 5.1.3. + 2006-07-12 Alex Schroeder * rcirc.texi: Fix typos. diff --git a/man/erc.texi b/man/erc.texi index cc264aa4127..29b0f059722 100644 --- a/man/erc.texi +++ b/man/erc.texi @@ -12,7 +12,7 @@ @syncodeindex fn cp @copying -This manual is for ERC version 5.1.2. +This manual is for ERC version 5.1.3. Copyright @copyright{} 2005, 2006 Free Software Foundation, Inc. @@ -68,6 +68,13 @@ Obtaining ERC * Releases:: Released versions of ERC. * Development:: Latest unreleased development changes. +Advanced Usage + +* Connecting:: Ways of connecting to an IRC server. +* Options:: Options that are available for ERC. +* Tips and Tricks:: Ways of enhancing your ERC experience. +* Sample Configuration:: An example configuration file. + @end detailmenu @end menu @@ -114,7 +121,7 @@ comes with Emacs. Choose to install a release if you want to minimize risk. Errors are corrected in development first. User-visible changes will be -announced on the @email{erc-help@@lists.sourceforge.net} mailing list. +announced on the @email{erc-discuss@@gnu.org} mailing list. @pxref{Getting Help and Reporting Bugs}. @cindex releases, Debian package @@ -124,7 +131,7 @@ available in the official Debian repository. @cindex releases, from source Alternatively, you can download the latest release from -@uref{http://sourceforge.net/project/showfiles.php?group_id=30118}. +@uref{http://ftp.gnu.org/gnu/erc}. @node Development, , Releases, Obtaining ERC @comment node-name, next, previous, up @@ -134,43 +141,13 @@ Alternatively, you can download the latest release from Choose the development version if you want to live on the bleeding edge of ERC development or try out new features before release. -@subsection Using CVS -@cindex CVS, using +@subheading GNU Arch -ERC is primarily developed using a CVS repository on sourceforge.net. -To check out a copy of the latest changes, do the following. - -@example -cvs -d:pserver:anonymous@@cvs.sourceforge.net:/cvsroot/erc login -cvs -z3 -d:pserver:anonymous@@cvs.sourceforge.net:/cvsroot/erc co -P erc -@end example - -@cindex CVS snapshot -Alternatively, the latest CVS snapshot may be downloaded in the -following forms. - -@itemize @bullet -@item http://mwolson.org/static/dist/erc-latest.tar.gz -@item http://mwolson.org/static/dist/erc-latest.zip -@end itemize - -@subsection Using the GNU Arch Revision Control System -@cindex arch revision control system, using -The Arch revision control system allows you to retrieve previous -versions and select specific features and bug fixes. - -Michael Olson maintains an official Arch branch for ERC which stays -current with the CVS repository for ERC. If you would like to -contribute to ERC development, and would prefer to use a modern Revision -Control System, feel free to make your own branch. - -If you are new to Arch, you might find this tutorial helpful: -@uref{http://www.mwolson.org/projects/ArchTutorial.html}. - -Downloading ERC with Arch and staying up-to-date involves the following -steps. +ERC is developed using GNU Arch. Downloading ERC with Arch and staying +up-to-date involves the following steps. @enumerate +@cindex GNU Arch, installing @item Install arch @itemize @bullet @@ -178,15 +155,16 @@ steps. @item Other distributions: see @uref{ftp://ftp.gnu.org/gnu/gnu-arch/}. @end itemize +@cindex GNU Arch, downloading ERC @item Register the archive. @example -tla register-archive -f http://www.mwolson.org/archives/2006 +tla register-archive -f http://arch.sv.gnu.org/archives/erc/erc @end example @item Download the ERC source code. @example # Download ERC into the @file{erc} directory. -tla get mwolson@@gnu.org--2006/erc--cvs--0 erc +tla get erc@@sv.gnu.org/erc--main--0 erc @end example @item List upstream changes that are missing from your local copy. @@ -201,25 +179,30 @@ cd erc/ tla missing --summary @end example -@cindex updating ERC with Arch +@cindex GNU Arch, updating ERC @item Update to the latest version by replaying missing changes. @example cd erc -tla replay +tla update @end example @end enumerate -There are other ways to interact with the ERC archive. +If you are new to Arch and want to learn more about developing with it, +you might find this tutorial helpful: +@uref{http://www.mwolson.org/projects/ArchTutorial.html}. -@itemize -@item Browse arch repository: @uref{http://www.mwolson.org/archives/} -@item Latest development snapshot: @uref{http://www.mwolson.org/static/dist/erc-latest.tar.gz} +@subheading Development snapshots + +@cindex development snapshot +Alternatively, the latest development snapshot may be downloaded in both +``.tar.gz'' and ``.zip'' forms. + +@itemize @bullet +@item @uref{http://www.mwolson.org/static/dist/erc-latest.tar.gz} +@item @uref{http://www.mwolson.org/static/dist/erc-latest.zip} @end itemize -The latest development snapshot will be kept up-to-date since it is -updated at the same time as the Arch repository. - @node Installation, Getting Started, Obtaining ERC, Top @comment node-name, next, previous, up @@ -282,15 +265,13 @@ locations that require this. To use ERC, add the directory containing its files to your @code{load-path} variable, in your @file{.emacs} file. Then, load ERC -itself along with any extra modules you desire. An example follows. +itself. An example follows. @lisp (require 'erc) - -(require 'erc-spelling) @end lisp -Once this is loaded, the command @kbd{M-x erc-select} will start ERC and +Once ERC is loaded, the command @kbd{M-x erc-select} will start ERC and prompt for the server to connect to. @c PRE5_2: Sample session, including: @@ -362,12 +343,12 @@ Run "/names #channel" in the current channel. @item C-c C-o (`erc-get-channel-mode-from-keypress') Read a key sequence and call the corresponding channel mode function. -After doing C-c C-o type in a channel mode letter. +After doing @kbd{C-c C-o}, type in a channel mode letter. -C-g means quit. -RET let's you type more than one mode at a time. -If "l" is pressed, `erc-set-channel-limit' gets called. -If "k" is pressed, `erc-set-channel-key' gets called. +@kbd{C-g} means quit. +@kbd{RET} lets you type more than one mode at a time. +If @kbd{l} is pressed, @code{erc-set-channel-limit} gets called. +If @kbd{k} is pressed, @code{erc-set-channel-key} gets called. Anything else will be sent to `erc-toggle-channel-mode'. @item C-c C-p (`erc-part-from-channel') @@ -406,7 +387,7 @@ The following is a list of available modules. @cindex modules, autoaway @item autoaway -Set away status automatically. +Set away status automatically @cindex modules, autojoin @item autojoin @@ -420,14 +401,31 @@ Integrate with the Big Brother Database @item button Buttonize URLs, nicknames, and other text +@cindex modules, completion +@item pcomplete +Complete nicknames and commands (programmable) + @cindex modules, fill @item fill Wrap long lines +@cindex modules, hecomplete +@item completion +Complete nicknames and commands (old). This is the old module---you +might prefer the ``completion'' module instead. + +@cindex modules, identd +@item identd +Launch an identd server on port 8113 + @cindex modules, irccontrols @item irccontrols Highlight or remove IRC control characters +@cindex modules, list +@item list +List channels nicely in a separate buffer + @cindex modules, log @item log Save buffers in logs @@ -448,9 +446,9 @@ Don't display non-IRC commands after evaluation @item notify Notify when the online status of certain users changes -@cindex modules, pcomplete -@item pcomplete -Complete nicknames and commands (programmable) +@cindex modules, page +@item page +Process CTCP PAGE requests from IRC @cindex modules, readonly @item readonly @@ -480,9 +478,9 @@ Convert smileys to pretty icons @item sound Play sounds when you receive CTCP SOUND requests -@cindex modules, spell -@item spell -Check spelling +@cindex modules, spelling +@item spelling +Check spelling of messages @cindex modules, stamp @item stamp @@ -510,14 +508,175 @@ Translate morse code in messages @chapter Advanced Usage @cindex advanced topics -Write me. +@menu +* Connecting:: Ways of connecting to an IRC server. +* Options:: Options that are available for ERC. +* Tips and Tricks:: Ways of enhancing your ERC experience. +* Sample Configuration:: An example configuration file. +@end menu -@c PRE5_2: (Node) Document every ERC option +@node Connecting, Options, Advanced Usage, Advanced Usage +@comment node-name, next, previous, up +@section Connecting to an IRC Server +@cindex connecting + +The easiest way to connect to an IRC server is to call +@kbd{M-x erc-select}. If you want to assign this function to a +keystroke, the following will help you figure out its parameters. + +@defun erc-select +Select connection parameters and run ERC. +Non-interactively, it takes the following keyword arguments. + +@itemize @bullet +@item @var{server} +@item @var{port} +@item @var{nick} +@item @var{password} +@item @var{full-name} +@end itemize + +That is, if called with the following arguments, @var{server} and +@var{full-name} will be set to those values, whereas +@code{erc-compute-port}, @code{erc-compute-nick} and +@code{erc-compute-full-name} will be invoked for the values of the other +parameters. + +@example +(erc-select :server "irc.freenode.net" :full-name "Harry S Truman") +@end example +@end defun + +@subheading Server + +@defun erc-compute-server &optional server +Return an IRC server name. + +This tries a number of increasingly more default methods until a non-nil +value is found. + +@itemize @bullet +@item @var{server} (the argument passed to this function) +@item The @code{erc-server} option +@item The value of the IRCSERVER environment variable +@item The @code{erc-default-server} variable +@end itemize + +@end defun + +@defopt erc-server nil +IRC server to use if one is not provided. +@end defopt + +@subheading Port + +@defun erc-compute-port &optional port +Return a port for an IRC server. + +This tries a number of increasingly more default methods until a non-nil +value is found. + +@itemize @bullet +@item @var{port} (the argument passed to this function) +@item The @code{erc-port} option +@item The @code{erc-default-port} variable +@end itemize + +@end defun + +@defopt erc-port +IRC port to use if not specified. + +This can be either a string or a number. +@end defopt + +@subheading Nick + +@defun erc-compute-nick &optional nick +Return user's IRC nick. + +This tries a number of increasingly more default methods until a +non-nil value is found. + +@itemize +@item @var{nick} (the argument passed to this function) +@item The @code{erc-nick} option +@item The value of the IRCNICK environment variable +@item The result from the @code{user-login-name} function +@end itemize + +@end defun + +@defopt erc-nick +Nickname to use if one is not provided. + +This can be either a string, or a list of strings. +In the latter case, if the first nick in the list is already in use, +other nicks are tried in the list order. +@end defopt + +@defopt erc-nick-uniquifier +The string to append to the nick if it is already in use. +@end defopt + +@defopt erc-try-new-nick-p +If the nickname you chose isn't available, and this option is non-nil, +ERC should automatically attempt to connect with another nickname. + +You can manually set another nickname with the /NICK command. +@end defopt + +@subheading Full name + +@defun erc-compute-full-name &optional full-name +Return user's full name. + +This tries a number of increasingly more default methods until a +non-nil value is found. + +@itemize @bullet +@item @var{full-name} (the argument passed to this function) +@item The @code{erc-user-full-name} option +@item The value of the IRCNAME environment variable +@item The result from the @code{user-full-name} function +@end itemize + +@end defun + +@defopt erc-user-full-name +User full name. + +This can be either a string or a function to call. +@end defopt + +@node Options, Tips and Tricks, Connecting, Advanced Usage +@comment node-name, next, previous, up +@section Options +@cindex options + +@c PRE5_2: (Node) Document every ERC option (module options go in +@c previous chapter) + +This section has not yet been written. + +@node Tips and Tricks, Sample Configuration, Options, Advanced Usage +@comment node-name, next, previous, up +@section Tips and Tricks +@cindex tips and tricks @c PRE5_2: (Node) Tips and tricks +This section has not yet been written. + +@node Sample Configuration, , Tips and Tricks, Advanced Usage +@comment node-name, next, previous, up +@section Sample Configuration +@cindex configuration, sample + @c PRE5_2: (Node) Sample configs +This section has not yet been written. + @node Getting Help and Reporting Bugs, History, Advanced Usage, Top @comment node-name, next, previous, up @@ -536,14 +695,24 @@ emacswiki.org page for ERC. Anyone may add tips, hints, or bug descriptions to it. @item -You can join the mailing list at @email{erc-help@@lists.sourceforge.net} -using the subscription form at -@uref{http://lists.sourceforge.net/lists/listinfo/erc-help}. +There are several mailing lists for ERC. To subscribe, visit +@uref{http://savannah.gnu.org/mail/?group=erc}. -This mailing list is also available via Gmane -(@url{http://gmane.org/}). The group is called -@samp{gmane.emacs.erc.general}. This provides additional methods for -accessing the mailing list, adding content to it, and searching it. +The mailing lists are also available on Gmane. +(@url{http://gmane.org/}). Gmane provides additional methods for +accessing the mailing lists, adding content to them, and searching them. + +@enumerate +@item gmane.emacs.erc.announce +Announcements + +@item gmane.emacs.erc.discuss +General discussion + +@item gmane.emacs.erc.cvs +Log messages for changes to the ERC source code + +@end enumerate @item You can visit the IRC Freenode channel @samp{#emacs}. Many of the @@ -561,7 +730,7 @@ questions. ERC was originally written by Alexander L. Belikoff @email{abel@@bfr.co.il} and Sergey Berezin @email{sergey.berezin@@cs.cmu.edu}. They stopped development around -December 1999. Their last released version was ERC 2.0. +December 1999. Their last released version was ERC 2.0. P.S.: If one of the original developers of ERC reads this, we'd like to receive additional information for this file and hear comments in @@ -572,42 +741,46 @@ general. In June 2001, Mario Lang @email{mlang@@delysid.org} and Alex Schroeder @email{alex@@gnu.org} took over development and created a ERC Project at -sourceforge.net. +@uref{http://sourceforge.net/projects/erc}. -In reaction to a mail about the new erc development, Sergey Berezin -said, "First of all, I'm glad that my version of ERC is being used out -there. The thing is, I do not have free time and enough incentive -anymore to work on ERC, so I would be happy if you guys take over the -project entirely." +In reaction to a mail about the new ERC development effort, Sergey +Berezin said, ``First of all, I'm glad that my version of ERC is being +used out there. The thing is, I do not have free time and enough +incentive anymore to work on ERC, so I would be happy if you guys take +over the project entirely.'' So we happily hacked away on ERC, and soon after (September 2001) released the next "stable" version, 2.1. Most of the development of the new ERC happened on #emacs on -irc.openprojects.net. Over time, many people contributed code, ideas, -bugfixes. And not to forget a lot of alpha/beta/gamma testing. +irc.openprojects.net. Over time, many people contributed code, ideas, +bugfixes, and a lot of alpha/beta/gamma testing. See the @file{CREDITS} file for a list of contributors. @item 2003 -ERC 3.0 is released. +ERC 3.0 was released. @item 2004 -ERC 4.0 is released. +ERC 4.0 was released. @item 2005 -ERC 5.0 is released. Michael Olson @email{mwolson@@gnu.org} becomes +ERC 5.0 was released. Michael Olson @email{mwolson@@gnu.org} became the release manager and eventually the maintainer. -After some discussion between him and the Emacs developers, it is +After some discussion between him and the Emacs developers, it was decided to include ERC in Emacs. @item 2006 -ERC 5.1 is released. It is subsequently included in Emacs 22. +ERC 5.1 was released. It was subsequently included in Emacs 22. + +ERC became an official GNU project, and development moved to +@uref{http://sv.gnu.org/projects/erc}. We switched to using GNU Arch as +our revision control system. Our mailing list address changed as well. @end itemize From 763bb2d43615bc3ae816422f965d76d5e1ae4bdd Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Fri, 14 Jul 2006 03:50:36 +0000 Subject: [PATCH 220/336] Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 113-114) - Merge from emacs--devo--0 - Update from CVS 2006-07-14 Andreas Seltenreich * lisp/gnus/gnus-start.el (gnus-subscribe-options-newsgroup-method): Doc fix. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-350 --- lisp/gnus/ChangeLog | 4 ++++ lisp/gnus/gnus-start.el | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 195b778d223..825a8bce003 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,7 @@ +2006-07-14 Andreas Seltenreich + + * gnus-start.el (gnus-subscribe-options-newsgroup-method): Doc fix. + 2006-06-26 Reiner Steib * gnus-diary.el (gnus-user-format-function-d) diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index 00defe58943..134078638c6 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -313,8 +313,8 @@ If, for instance, you want to subscribe to all newsgroups in the options -n no.all alt.all -Gnus will the subscribe all new newsgroups in these hierarchies with -the subscription method in this variable." +Gnus will then subscribe all new newsgroups in these hierarchies +with the subscription method in this variable." :group 'gnus-group-new :type '(radio (function-item gnus-subscribe-randomly) (function-item gnus-subscribe-alphabetically) From 580b488bf814066b7393fe666a39ac6e7a190329 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A1roly=20L=C5=91rentey?= Date: Fri, 14 Jul 2006 05:44:42 +0000 Subject: [PATCH 221/336] Update Hungarian sample. --- etc/ChangeLog | 4 ++++ etc/HELLO | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/etc/ChangeLog b/etc/ChangeLog index f2924f7640d..95756e31468 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,7 @@ +2006-07-14 K,Aa(Broly L,Bu(Brentey + + * HELLO: Update Hungarian sample. + 2006-07-12 Michael Olson * ERC-NEWS: Update for ERC 5.1.3. diff --git a/etc/HELLO b/etc/HELLO index 67b6a21ea4a..14d9dc04efa 100644 --- a/etc/HELLO +++ b/etc/HELLO @@ -31,7 +31,7 @@ Georgian ($,1JEJ0J@J7J5J4J:J8(B) $,1J2J0J;J0J@JOJ=J1J0(B German (Deutsch) Guten Tag, Gr,A|_(B Gott Greek (,Fekkgmij\(B) ,FCei\(B ,Fsar(B Hebrew (,Hraxiz(B) ,Hylem(B -Hungarian (??) Sz,Bi(Bp j,Bs(B napot! +Hungarian (magyar) Sz,Bi(Bp j,Bs(B napot! Hindi (4$,4!}t%"+0$,15y55B14$,4!.v#"Yv#"20$,15f6 1(B) 4$,4!8v#")0$,15h14$,4!hv#")0$,15n14$,4!zv#!)v#")v#"D0$,15x6-5d6'1(B, 4$,4!8v#")0$,15h14$,4!hv#")0$,15n14$,4!zv# ev#"Rv#")0$,15x6-5U5~14$,4!nv#"W0$,15p1(B 4$,4 J0$,16D1(B Italian (italiano) Ciao, Buon giorno Javanese (Jawa) System.out.println("Halo, selamat sore!"); From c8eba9db7fcaa202c9ae57ec08a2d9847bb4da41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A1roly=20L=C5=91rentey?= Date: Fri, 14 Jul 2006 05:51:02 +0000 Subject: [PATCH 222/336] Update. --- lisp/emacs-lisp/authors.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 912f6b2d77f..40f74713664 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el @@ -92,6 +92,7 @@ files.") "Kai.Grossjohann@Cs.Uni-Dortmund.De" "Kai.Grossjohann@Gmx.Net") ("Karl Berry" "K. Berry") + ("K,Aa(Broly L$,1 q(Brentey" "L$,1 q(Brentey K,Aa(Broly") ("Kazushi Marukawa" "Kazushi") ("Ken Manheimer" "Kenneth Manheimer") ("Kenichi Handa" "Ken'ichi Handa" "Kenichi HANDA") From 7ad783eb3ab820e7af568d544e4ea2b790243982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A1roly=20L=C5=91rentey?= Date: Fri, 14 Jul 2006 06:07:07 +0000 Subject: [PATCH 223/336] Update. --- lisp/ChangeLog | 4 ++++ lisp/emacs-lisp/authors.el | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 54e81f850e7..22e84ceaee7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-07-14 K,Aa(Broly L,Bu(Brentey + + * emacs-lisp/authors.el (authors-aliases): Update. + 2006-07-14 Nick Roberts * progmodes/gdb-ui.el (gdb-display-buffer): Check for diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 40f74713664..d1710dba7a4 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el @@ -92,7 +92,7 @@ files.") "Kai.Grossjohann@Cs.Uni-Dortmund.De" "Kai.Grossjohann@Gmx.Net") ("Karl Berry" "K. Berry") - ("K,Aa(Broly L$,1 q(Brentey" "L$,1 q(Brentey K,Aa(Broly") + ("K,Aa(Broly L$,1 q(Brentey" "K,Aa(Broly L,Bu(Brentey" "L$,1 q(Brentey K,Aa(Broly") ("Kazushi Marukawa" "Kazushi") ("Ken Manheimer" "Kenneth Manheimer") ("Kenichi Handa" "Ken'ichi Handa" "Kenichi HANDA") From d18f316eff288d854148cc09376ac87acd69afe4 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 09:29:22 +0000 Subject: [PATCH 224/336] (FILE_LISTEN): New filedesc flag value. --- src/w32.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/w32.h b/src/w32.h index ecc986269fb..acbadd8b57c 100644 --- a/src/w32.h +++ b/src/w32.h @@ -93,6 +93,7 @@ extern filedesc fd_info [ MAXDESC ]; /* fd_info flag definitions */ #define FILE_READ 0x0001 #define FILE_WRITE 0x0002 +#define FILE_LISTEN 0x0004 #define FILE_BINARY 0x0010 #define FILE_LAST_CR 0x0020 #define FILE_AT_EOF 0x0040 From 26fb7bc42235487b8558e08becccb5e3754a3a6a Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 09:29:32 +0000 Subject: [PATCH 225/336] Fix high cpu load for server sockets. (pfn_WSAEventSelect): New function ptr. (init_winsock): Load it. (sys_listen): Set FILE_LISTEN flag. Set event mask for socket's char_avail event object to FD_ACCEPT. (sys_accept): Check FILE_LISTEN flag. Set event mask on new socket's char_avail event object to FD_READ|FD_CLOSE. --- src/w32.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/w32.c b/src/w32.c index f11ffb7a785..10b912709fc 100644 --- a/src/w32.c +++ b/src/w32.c @@ -2700,6 +2700,7 @@ utime (const char *name, struct utimbuf *times) int (PASCAL *pfn_WSAStartup) (WORD wVersionRequired, LPWSADATA lpWSAData); void (PASCAL *pfn_WSASetLastError) (int iError); int (PASCAL *pfn_WSAGetLastError) (void); +int (PASCAL *pfn_WSAEventSelect) (SOCKET s, HANDLE hEventObject, long lNetworkEvents); int (PASCAL *pfn_socket) (int af, int type, int protocol); int (PASCAL *pfn_bind) (SOCKET s, const struct sockaddr *addr, int namelen); int (PASCAL *pfn_connect) (SOCKET s, const struct sockaddr *addr, int namelen); @@ -2782,6 +2783,7 @@ init_winsock (int load_now) LOAD_PROC( WSAStartup ); LOAD_PROC( WSASetLastError ); LOAD_PROC( WSAGetLastError ); + LOAD_PROC( WSAEventSelect ); LOAD_PROC( socket ); LOAD_PROC( bind ); LOAD_PROC( connect ); @@ -3295,6 +3297,11 @@ sys_listen (int s, int backlog) int rc = pfn_listen (SOCK_HANDLE (s), backlog); if (rc == SOCKET_ERROR) set_errno (); + else + { + fd_info[s].flags |= FILE_LISTEN; + pfn_WSAEventSelect (SOCK_HANDLE (s), fd_info[s].cp->char_avail, FD_ACCEPT); + } return rc; } h_errno = ENOTSOCK; @@ -3332,11 +3339,16 @@ sys_accept (int s, struct sockaddr * addr, int * addrlen) } check_errno (); - if (fd_info[s].flags & FILE_SOCKET) + if (fd_info[s].flags & FILE_LISTEN) { SOCKET t = pfn_accept (SOCK_HANDLE (s), addr, addrlen); if (t != INVALID_SOCKET) - return socket_to_fd (t); + { + int fd = socket_to_fd (t); + if (fd >= 0) + pfn_WSAEventSelect (SOCK_HANDLE (fd), fd_info[fd].cp->char_avail, FD_READ | FD_CLOSE); + return fd; + } set_errno (); return -1; From 8a8476f9849c6bf620d370b4e72d4fedc9b5db3f Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 09:32:02 +0000 Subject: [PATCH 226/336] *** empty log message *** --- admin/ChangeLog | 6 +++++- lisp/ChangeLog | 33 ++++++++++++++------------------- src/ChangeLog | 12 ++++++++++++ 3 files changed, 31 insertions(+), 20 deletions(-) diff --git a/admin/ChangeLog b/admin/ChangeLog index 7519bfcee90..c8d95c8f668 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,7 @@ +2006-07-14 Kim F. Storm + + * FOR-RELEASE (BUGS): High cpu load on windows server sockets fixed. + 2006-07-09 Kim F. Storm * README: Use outline format. Add FOR-RELEASE. @@ -56,7 +60,7 @@ 2006-01-27 Chong Yidong - * FOR-RELEASE: string allocation bugs fixed. + * FOR-RELEASE: String allocation bugs fixed. 2005-12-13 Bill Wohler diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 22e84ceaee7..3bbe4862768 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -10,7 +10,7 @@ (gdb-display-breakpoints-buffer, gdb-display-stack-buffer) (gdb-display-threads-buffer, gdb-display-memory-buffer) (gdb-display-locals-buffer): Use it. - + * progmodes/gud.el (gud-display-line): Use gdb-display-buffer. Set gdb-source-window. @@ -55,10 +55,9 @@ 2006-07-12 Nick Roberts - * tumme.el (tumme-create-thumb) - (tumme-thumbnail-display-external, tumme-display-image) - (tumme-rotate-thumbnail, tumme-rotate-original) - (tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch. + * tumme.el (tumme-create-thumb, tumme-thumbnail-display-external) + (tumme-display-image, tumme-rotate-thumbnail, tumme-rotate-original) + (tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch. * thumbs.el (thumbs-call-convert): Use shell-command-switch. @@ -94,20 +93,16 @@ 2006-07-11 Nick Roberts - * tumme.el (tumme-create-thumb) - (tumme-thumbnail-display-external, tumme-display-image) - (tumme-rotate-thumbnail, tumme-rotate-original) + * tumme.el (tumme-create-thumb, tumme-thumbnail-display-external) + (tumme-display-image, tumme-rotate-thumbnail, tumme-rotate-original) (tumme-set-exif-data, tumme-get-exif-data): Use call-process instead of shell-command. - (tumme-create-thumbnail-buffer) - (tumme-create-display-image-buffer, tumme-display-thumbs) - (tumme-modify-mark-on-thumb-original-file, tumme-display-image) - (tumme-get-exif-data): Use with-current-buffer. - (tumme-display-properties-format) - (tumme-dired-insert-marked-thumbs, tumme-rotate-original) - (tumme-get-exif-file-name) - (tumme-thumbnail-set-image-description, tumme-gallery-generate): - Fit to 80 columns. + (tumme-create-thumbnail-buffer, tumme-create-display-image-buffer) + (tumme-display-thumbs, tumme-modify-mark-on-thumb-original-file) + (tumme-display-image, tumme-get-exif-data): Use with-current-buffer. + (tumme-display-properties-format, tumme-dired-insert-marked-thumbs) + (tumme-thumbnail-set-image-description, tumme-gallery-generate) + (tumme-rotate-original, tumme-get-exif-file-name): Fit to 80 columns. 2006-07-11 Kim F. Storm @@ -418,8 +413,8 @@ 2006-06-25 Michael Albinus * net/rcompile.el (remote-compile): Replace ange-ftp based - implementation by Tramp functions. Based on a patch published by - Marc Abramowitz . + implementation by Tramp functions. + Suggested by Marc Abramowitz . * net/tramp.el (tramp-unload-tramp): Provide a doc string. diff --git a/src/ChangeLog b/src/ChangeLog index 8437853d887..aaa464cfd68 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,15 @@ +2006-07-14 Kim F. Storm + + * w32.c: Fix high cpu load for server sockets. + (pfn_WSAEventSelect): New function ptr. + (init_winsock): Load it. + (sys_listen): Set FILE_LISTEN flag. Set event mask for socket's + char_avail event object to FD_ACCEPT. + (sys_accept): Check FILE_LISTEN flag. Set event mask on new + socket's char_avail event object to FD_READ|FD_CLOSE. + + * w32.h (FILE_LISTEN): New filedesc flag value. + 2006-07-13 Kim F. Storm * bytecode.c (Fbyte_code): Use CAR, CDR for Bcar, Bcdr. From ceb53a12f007c30185e5cf86ffec6c073883bbee Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 09:32:14 +0000 Subject: [PATCH 227/336] (BUGS): High cpu load on windows server sockets fixed. --- admin/FOR-RELEASE | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 853fdc9d3bf..bd9034b19e8 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -41,21 +41,6 @@ and KDE projects, to use the new Emacs icons in etc/images/icons. '(hscroll-step 1) ) -** TCP server processes do not work on Windows. - -TCP/IP server processes created with `make-network-process' consume -excesive CPU on some Windows environments. Usages of 50% and 100% -CPU time have been observed on different Window XP configurations. -Seems to be a problem in sys_select in w32proc.c. - -In its current form, it sys_select says the socket is ready, so we -call server_accept_connection which again calls accept() which returns --1 with errno == WSAEWOULDBLOCK (10035) indicating that there is no -pending connection to accept. - -It seems that to fix this, w32 server sockets must use WSAAsyncSelect -+ FD_ACCEPT to request notifications of incoming connections... - * DOCUMENTATION From dcc881213c9b7d6b6df11f394ce62f3a747c9ec5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Dj=C3=A4rv?= Date: Fri, 14 Jul 2006 09:47:45 +0000 Subject: [PATCH 228/336] * sound.c (alsa_init): Call snd_pcm_close after successful snd_pcm_open. --- src/ChangeLog | 4 ++++ src/sound.c | 10 ++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index aaa464cfd68..591bb2fefe9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2006-07-14 Jan Dj,Ad(Brv + + * sound.c (alsa_init): Call snd_pcm_close after successful snd_pcm_open. + 2006-07-14 Kim F. Storm * w32.c: Fix high cpu load for server sockets. diff --git a/src/sound.c b/src/sound.c index af2369040cc..6f955a7d691 100644 --- a/src/sound.c +++ b/src/sound.c @@ -990,6 +990,7 @@ alsa_configure (sd) struct sound_device *sd; { int val, err, dir; + unsigned uval; struct alsa_params *p = (struct alsa_params *) sd->data; snd_pcm_uframes_t buffer_size; @@ -1017,8 +1018,8 @@ alsa_configure (sd) if (err < 0) alsa_sound_perror ("Could not set sound format", err); - val = sd->sample_rate; - err = snd_pcm_hw_params_set_rate_near (p->handle, p->hwparams, &val, 0); + uval = sd->sample_rate; + err = snd_pcm_hw_params_set_rate_near (p->handle, p->hwparams, &uval, 0); if (err < 0) alsa_sound_perror ("Could not set sample rate", err); @@ -1123,7 +1124,7 @@ alsa_close (sd) snd_pcm_sw_params_free (p->swparams); if (p->handle) { - snd_pcm_drain(p->handle); + snd_pcm_drain (p->handle); snd_pcm_close (p->handle); } free (p); @@ -1269,7 +1270,8 @@ alsa_init (sd) err = snd_pcm_open (&handle, file, SND_PCM_STREAM_PLAYBACK, 0); snd_lib_error_set_handler (NULL); if (err < 0) - return 0; + return 0; + snd_pcm_close (handle); sd->fd = -1; sd->open = alsa_open; From 01fc9422ddb1e7f1f47c1f58117cdb078d118711 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 14 Jul 2006 11:26:36 +0000 Subject: [PATCH 229/336] Require 'cl during byte-compilation/interactive load, for the `assert' macro. (allout-mode-deactivate-hook): New hook, is run when allout mode deactivates. (allout-developer): New allout customization subgroup. (allout-run-unit-tests-on-load): New allout-developer customization variable, when true allout unit tests are run towards end of file load/eval. (allout-inhibit-auto-fill): Disable auto-fill activity even during auto-fill-mode. (allout-resumptions): Removed, to be replaced by... (allout-add-resumptions): Register variable settings to be reinstated by `allout-do-resumptions'. The settings are made buffer-local, but the locality/globality of the suspended setting is restored on resumption. (allout-do-resumptions): Reinstate all settings suspended using `allout-add-resumptions'. (allout-test-resumptions): Unit tests (and intermediate variables) for resumptions. (allout-tests-globally-unbound, allout-tests-globally-true) (allout-tests-locally-true): Intermediate variables for resumptions unit tests. (allout-overlay-preparations): Replaces `allout-set-overlay-category'. (allout-exposure-category): Replaces 'allout-overlay-category variable. (allout-mode): Use `allout-add-resumptions' and `allout-do-resumptions' instead of retired `allout-resumptions'. For hook functions, use `local' parameter so hook settings are created and removed as buffer-local settings. Revise (resumptions) setting auto-fill-function so it is set only if already active. (The related fill-function settings are all made in either case, so that activating auto-fill-mode activity will have the custom allout-mode behaviors (hanging indent on topics, if configured for it). Also, remove all allout-exposure-category overlays on mode deactivation. (allout-hotspot-key-handler): New function extracted from `allout-pre-command-business', so the functionality can be used for other purposes, eg as a binding in an overlay. (allout-pre-command-business): Use new `allout-hotspot-key-handler'. (allout-auto-fill): Respect new `allout-inhibit-auto-fill' customization variable. (allout-run-unit-tests): Run the (currently quite small) repertoire of unit tests. Called just before the provide iff user has customized `allout-run-unit-tests-on-load' non-nil. --- lisp/ChangeLog | 46 ++++ lisp/allout.el | 625 +++++++++++++++++++++++++++++++------------------ 2 files changed, 443 insertions(+), 228 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3bbe4862768..b095c35ee0a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,49 @@ +2006-07-14 Ken Manheimer + + * allout.el: Require 'cl during byte-compilation/interactive load, + for the `assert' macro. + (allout-mode-deactivate-hook): New hook, is run when allout mode + deactivates. + (allout-developer): New allout customization subgroup. + (allout-run-unit-tests-on-load): New allout-developer + customization variable, when true allout unit tests are run towards + end of file load/eval. + (allout-inhibit-auto-fill): Disable auto-fill activity even during + auto-fill-mode. + (allout-resumptions): Removed, to be replaced by... + (allout-add-resumptions): Register variable settings to be + reinstated by `allout-do-resumptions'. The settings are made + buffer-local, but the locality/globality of the suspended setting + is restored on resumption. + (allout-do-resumptions): Reinstate all settings suspended using + `allout-add-resumptions'. + (allout-test-resumptions): Unit tests (and intermediate variables) + for resumptions. + (allout-tests-globally-unbound, allout-tests-globally-true) + (allout-tests-locally-true): Intermediate variables for + resumptions unit tests. + (allout-overlay-preparations): Replaces `allout-set-overlay-category'. + (allout-exposure-category): Replaces 'allout-overlay-category variable. + (allout-mode): Use `allout-add-resumptions' and `allout-do-resumptions' + instead of retired `allout-resumptions'. For hook functions, use + `local' parameter so hook settings are created and removed as + buffer-local settings. Revise (resumptions) setting + auto-fill-function so it is set only if already active. (The + related fill-function settings are all made in either case, so + that activating auto-fill-mode activity will have the custom + allout-mode behaviors (hanging indent on topics, if configured for + it). Also, remove all allout-exposure-category overlays on mode + deactivation. + (allout-hotspot-key-handler): New function extracted from + `allout-pre-command-business', so the functionality can be used + for other purposes, eg as a binding in an overlay. + (allout-pre-command-business): Use new `allout-hotspot-key-handler'. + (allout-auto-fill): Respect new `allout-inhibit-auto-fill' + customization variable. + (allout-run-unit-tests): Run the (currently quite small) + repertoire of unit tests. Called just before the provide iff user + has customized `allout-run-unit-tests-on-load' non-nil. + 2006-07-14 K,Aa(Broly L,Bu(Brentey * emacs-lisp/authors.el (authors-aliases): Update. diff --git a/lisp/allout.el b/lisp/allout.el index 2fbef5b2cd8..f7d143be82e 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -8,6 +8,7 @@ ;; Created: Dec 1991 - first release to usenet ;; Version: 2.2.1 ;; Keywords: outlines wp languages +;; Website: http://myriadicity.net/Sundry/EmacsAllout ;; This file is part of GNU Emacs. @@ -58,7 +59,9 @@ ;; and more. ;; ;; See the `allout-mode' function's docstring for an introduction to the -;; mode. The development version and helpful notes are available at +;; mode. +;; +;; The latest development version and helpful notes are available at ;; http://myriadicity.net/Sundry/EmacsAllout . ;; ;; The outline menubar additions provide quick reference to many of @@ -80,10 +83,19 @@ ;;;_* Dependency autoloads (require 'overlay) -(eval-when-compile (progn (require 'pgg) - (require 'pgg-gpg) - (require 'overlay) - )) +(eval-when-compile + ;; Most of the requires here are for stuff covered by autoloads. + ;; Since just byte-compiling doesn't trigger autoloads, so that + ;; "function not found" warnings would occur without these requires. + (progn + (require 'pgg) + (require 'pgg-gpg) + (require 'overlay) + ;; `cl' is required for `assert'. `assert' is not covered by a standard + ;; autoload, but it is a macro, so that eval-when-compile is sufficient + ;; to byte-compile it in, or to do the require when the buffer evalled. + (require 'cl) + )) ;;;_* USER CUSTOMIZATION VARIABLES: @@ -556,6 +568,25 @@ disable auto-saves for that file." :group 'allout-encryption) (make-variable-buffer-local 'allout-encrypt-unencrypted-on-saves) +;;;_ + Developer +;;;_ = allout-developer group +(defgroup allout-developer nil + "Settings for topic encryption features of allout outliner." + :group 'allout) +;;;_ = allout-run-unit-tests-on-load +(defcustom allout-run-unit-tests-on-load nil + "*When non-nil, unit tests will be run at end of loading the allout module. + +Generally, allout code developers are the only ones who'll want to set this. + +\(If set, this makes it an even better practice to exercise changes by +doing byte-compilation with a repeat count, so the file is loaded at the +of compilation.) + +See `allout-run-unit-tests' to see what's run." + :type 'boolean + :group 'allout-developer) + ;;;_ + Miscellaneous customization ;;;_ = allout-command-prefix @@ -615,6 +646,23 @@ unless optional third, non-nil element is present.") ("=t" allout-latexify-exposed) ("=p" allout-flatten-exposed-to-buffer))) +;;;_ = allout-inhibit-auto-fill +(defcustom allout-inhibit-auto-fill nil + "*If non-nil, auto-fill will be inhibited in the allout buffers. + +You can customize this setting to set it for all allout buffers, or set it +in individual buffers if you want to inhibit auto-fill only in particular +buffers. \(You could use a function on `allout-mode-hook' to inhibit +auto-fill according, eg, to the major mode.\) + +If you don't set this and auto-fill-mode is enabled, allout will use the +value that `normal-auto-fill-function', if any, when allout mode starts, or +else allout's special hanging-indent maintaining auto-fill function, +`allout-auto-fill'." + :type 'boolean + :group 'allout) +(make-variable-buffer-local 'allout-inhibit-auto-fill) + ;;;_ = allout-use-hanging-indents (defcustom allout-use-hanging-indents t "*If non-nil, topic body text auto-indent defaults to indent of the header. @@ -993,69 +1041,68 @@ activation. Being deprecated.") "----" ["Set Header Lead" allout-reset-header-lead t] ["Set New Exposure" allout-expose-topic t]))) -;;;_ : Mode-Specific Variable Maintenance Utilities +;;;_ : Allout Modal-Variables Utilities ;;;_ = allout-mode-prior-settings (defvar allout-mode-prior-settings nil - "Internal `allout-mode' use; settings to be resumed on mode deactivation.") + "Internal `allout-mode' use; settings to be resumed on mode deactivation. + +See `allout-add-resumptions' and `allout-do-resumptions'.") (make-variable-buffer-local 'allout-mode-prior-settings) -;;;_ > allout-resumptions (name &optional value) -(defun allout-resumptions (name &optional value) +;;;_ > allout-add-resumptions (&rest pairs) +(defun allout-add-resumptions (&rest pairs) + "Set name/value pairs. - "Registers or resumes settings over `allout-mode' activation/deactivation. +Old settings are preserved for later resumption using `allout-do-resumptions'. -First arg is NAME of variable affected. Optional second arg is list -containing allout-mode-specific VALUE to be imposed on named -variable, and to be registered. \(It's a list so you can specify -registrations of null values.) If no value is specified, the -registered value is returned (encapsulated in the list, so the caller -can distinguish nil vs no value), and the registration is popped -from the list." +The pairs are lists whose car is the name of the variable and car of the +cdr is the new value: '(some-var some-value)'. - (let ((on-list (assq name allout-mode-prior-settings)) - prior-capsule ; By `capsule' i mean a list - ; containing a value, so we can - ; distinguish nil from no value. - ) +The new value is set as a buffer local. - (if value +If the variable was not previously buffer-local, then that is noted and the +`allout-do-resumptions' will just `kill-local-variable' of that binding. - ;; Registering: - (progn - (if on-list - nil ; Already preserved prior value - don't mess with it. - ;; Register the old value, or nil if previously unbound: - (setq allout-mode-prior-settings - (cons (list name - (if (boundp name) (list (symbol-value name)))) - allout-mode-prior-settings))) - ; And impose the new value, locally: - (progn (make-local-variable name) - (set name (car value)))) +If it previously was buffer-local, the old value is noted and resurrected +by `allout-do-resumptions'. \(If the local value was previously void, then +it is left as nil on resumption.\) - ;; Relinquishing: - (if (not on-list) +The settings are stored on `allout-mode-prior-settings'." + (while pairs + (let* ((pair (pop pairs)) + (name (car pair)) + (value (cadr pair))) + (if (not (symbolp name)) + (error "Pair's name, %S, must be a symbol, not %s" + name (type-of name))) + (when (not (assoc name allout-mode-prior-settings)) + ;; Not already added as a resumption, create the prior setting entry. + (if (local-variable-p name) + ;; is already local variable - preserve the prior value: + (push (list name (condition-case err + (symbol-value name) + (void-variable nil))) + allout-mode-prior-settings) + ;; wasn't local variable, indicate so for resumption by killing + ;; local value, and make it local: + (push (list name) allout-mode-prior-settings) + (make-local-variable name))) + (set name value)))) +;;;_ > allout-do-resumptions () +(defun allout-do-resumptions () + "Resume all name/value settings registered by `allout-add-resumptions'. - ;; Oops, not registered - leave it be: - nil +This is used when concluding allout-mode, to resume selected variables to +their settings before allout-mode was started." - ;; Some registration: - ; reestablish it: - (setq prior-capsule (car (cdr on-list))) - (if prior-capsule - (set name (car prior-capsule)) ; Some prior value - reestablish it. - (makunbound name)) ; Previously unbound - demolish var. - ; Remove registration: - (let (rebuild) - (while allout-mode-prior-settings - (if (not (eq (car allout-mode-prior-settings) - on-list)) - (setq rebuild - (cons (car allout-mode-prior-settings) - rebuild))) - (setq allout-mode-prior-settings - (cdr allout-mode-prior-settings))) - (setq allout-mode-prior-settings rebuild))))) - ) + (while allout-mode-prior-settings + (let* ((pair (pop allout-mode-prior-settings)) + (name (car pair)) + (value-cell (cdr pair))) + (if (not value-cell) + ;; Prior value was global: + (kill-local-variable name) + ;; Prior value was explicit: + (set name (car value-cell)))))) ;;;_ : Mode-specific incidentals ;;;_ > allout-unprotected (expr) (defmacro allout-unprotected (expr) @@ -1065,9 +1112,12 @@ from the list." ;;;_ = allout-mode-hook (defvar allout-mode-hook nil "*Hook that's run when allout mode starts.") -;;;_ = allout-overlay-category -(defvar allout-overlay-category nil - "Symbol for use in allout invisible-text overlays as the category.") +;;;_ = allout-mode-deactivate-hook +(defvar allout-mode-deactivate-hook nil + "*Hook that's run when allout mode ends.") +;;;_ = allout-exposure-category +(defvar allout-exposure-category nil + "Symbol for use as allout invisible-text overlay category.") ;;;_ x allout-view-change-hook (defvar allout-view-change-hook nil "*\(Deprecated\) Hook that's run after allout outline exposure changes. @@ -1293,30 +1343,26 @@ the following two lines in your Emacs init file: (setq cur (car menus) menus (cdr menus)) (easy-menu-add cur)))) -;;;_ > allout-set-overlay-category -(defun allout-set-overlay-category () - "Set the properties of the allout invisible-text overlay." - (setplist 'allout-overlay-category nil) - (put 'allout-overlay-category 'invisible 'allout) - (put 'allout-overlay-category 'evaporate t) +;;;_ > allout-overlay-preparations +(defun allout-overlay-preparations () + "Set the properties of the allout invisible-text overlay and others." + (setplist 'allout-exposure-category nil) + (put 'allout-exposure-category 'invisible 'allout) + (put 'allout-exposure-category 'evaporate t) ;; XXX We use isearch-open-invisible *and* isearch-mode-end-hook. The ;; latter would be sufficient, but it seems that a separate behavior - ;; the _transient_ opening of invisible text during isearch - is keyed to ;; presence of the isearch-open-invisible property - even though this ;; property controls the isearch _arrival_ behavior. This is the case at ;; least in emacs 21, 22.0, and xemacs 21.4. - (put 'allout-overlay-category 'isearch-open-invisible + (put 'allout-exposure-category 'isearch-open-invisible 'allout-isearch-end-handler) (if (featurep 'xemacs) - (put 'allout-overlay-category 'start-open t) - (put 'allout-overlay-category 'insert-in-front-hooks + (put 'allout-exposure-category 'start-open t) + (put 'allout-exposure-category 'insert-in-front-hooks '(allout-overlay-insert-in-front-handler))) - (if (featurep 'xemacs) - (progn (make-variable-buffer-local 'before-change-functions) - (add-hook 'before-change-functions - 'allout-before-change-handler)) - (put 'allout-overlay-category 'modification-hooks - '(allout-overlay-interior-modification-handler)))) + (put 'allout-exposure-category 'modification-hooks + '(allout-overlay-interior-modification-handler))) ;;;_ > allout-mode (&optional toggle) ;;;_ : Defun: ;;;###autoload @@ -1575,118 +1621,92 @@ OPEN: A topic that is not closed, though its offspring or body may be." ; active state or *de*activation ; specifically requested: (setq allout-explicitly-deactivated t) - (if (string-match "^18\." emacs-version) - ; Revoke those keys that remain - ; as we set them: - (let ((curr-loc (current-local-map))) - (mapcar (function - (lambda (cell) - (if (eq (lookup-key curr-loc (car cell)) - (car (cdr cell))) - (define-key curr-loc (car cell) - (assq (car cell) allout-prior-bindings))))) - allout-added-bindings) - (allout-resumptions 'allout-added-bindings) - (allout-resumptions 'allout-prior-bindings))) - (if allout-old-style-prefixes - (progn - (allout-resumptions 'allout-primary-bullet) - (allout-resumptions 'allout-old-style-prefixes))) - ;;(allout-resumptions 'selective-display) + (allout-do-resumptions) + (remove-from-invisibility-spec '(allout . t)) - (set write-file-hook-var-name - (delq 'allout-write-file-hook-handler - (symbol-value write-file-hook-var-name))) - (setq auto-save-hook - (delq 'allout-auto-save-hook-handler - auto-save-hook)) - (allout-resumptions 'paragraph-start) - (allout-resumptions 'paragraph-separate) - (allout-resumptions 'auto-fill-function) - (allout-resumptions 'normal-auto-fill-function) - (allout-resumptions 'allout-former-auto-filler) + (remove-hook 'pre-command-hook 'allout-pre-command-business t) + (remove-hook 'post-command-hook 'allout-post-command-business t) + (when (featurep 'xemacs) + (remove-hook 'before-change-functions 'allout-before-change-handler t)) + (remove-hook 'isearch-mode-end-hook 'allout-isearch-end-handler t) + (remove-hook write-file-hook-var-name 'allout-write-file-hook-handler t) + (remove-hook 'auto-save-hook 'allout-auto-save-hook-handler t) + + (remove-overlays (point-min) (point-max) + 'category 'allout-exposure-category) + + (run-hooks 'allout-mode-deactivate-hook) (setq allout-mode nil)) ;; Activation: ((not active) (setq allout-explicitly-deactivated nil) (if allout-old-style-prefixes - (progn ; Inhibit all the fancy formatting: - (allout-resumptions 'allout-primary-bullet '("*")) - (allout-resumptions 'allout-old-style-prefixes '(())))) + ;; Inhibit all the fancy formatting: + (allout-add-resumptions '((allout-primary-bullet "*") + (allout-old-style-prefixes ())))) - (allout-set-overlay-category) ; Doesn't hurt to redo this. + (allout-overlay-preparations) ; Doesn't hurt to redo this. (allout-infer-header-lead) (allout-infer-body-reindent) (set-allout-regexp) - ; Produce map from current version - ; of allout-keybindings-list: - (if (boundp 'minor-mode-map-alist) + ;; Produce map from current version of allout-keybindings-list: + (setq allout-mode-map + (produce-allout-mode-map allout-keybindings-list)) + (substitute-key-definition 'beginning-of-line + 'move-beginning-of-line + allout-mode-map global-map) + (substitute-key-definition 'end-of-line + 'move-end-of-line + allout-mode-map global-map) + (produce-allout-mode-menubar-entries) + (fset 'allout-mode-map allout-mode-map) - (progn ; V19, and maybe lucid and - ; epoch, minor-mode key bindings: - (setq allout-mode-map - (produce-allout-mode-map allout-keybindings-list)) - (substitute-key-definition 'beginning-of-line - 'move-beginning-of-line - allout-mode-map global-map) - (substitute-key-definition 'end-of-line - 'move-end-of-line - allout-mode-map global-map) - (produce-allout-mode-menubar-entries) - (fset 'allout-mode-map allout-mode-map) - ; Include on minor-mode-map-alist, - ; if not already there: - (if (not (member '(allout-mode . allout-mode-map) - minor-mode-map-alist)) - (setq minor-mode-map-alist - (cons '(allout-mode . allout-mode-map) - minor-mode-map-alist)))) - - ; V18 minor-mode key bindings: - ; Stash record of added bindings - ; for later revocation: - (allout-resumptions 'allout-added-bindings - (list allout-keybindings-list)) - (allout-resumptions 'allout-prior-bindings - (list (current-local-map))) - ; and add them: - (use-local-map (produce-allout-mode-map allout-keybindings-list - (current-local-map))) - ) + ;; Include on minor-mode-map-alist, if not already there: + (if (not (member '(allout-mode . allout-mode-map) + minor-mode-map-alist)) + (setq minor-mode-map-alist + (cons '(allout-mode . allout-mode-map) + minor-mode-map-alist))) (add-to-invisibility-spec '(allout . t)) - (make-local-variable 'line-move-ignore-invisible) - (setq line-move-ignore-invisible t) - (add-hook 'pre-command-hook 'allout-pre-command-business) - (add-hook 'post-command-hook 'allout-post-command-business) - (add-hook 'isearch-mode-end-hook 'allout-isearch-end-handler) - (add-hook write-file-hook-var-name 'allout-write-file-hook-handler) - (add-hook 'auto-save-hook 'allout-auto-save-hook-handler) - ; Custom auto-fill func, to support - ; respect for topic headline, - ; hanging-indents, etc: - ;; Register prevailing fill func for use by allout-auto-fill: - (allout-resumptions 'allout-former-auto-filler (list auto-fill-function)) - ;; Register allout-auto-fill to be used if filling is active: - (allout-resumptions 'auto-fill-function '(allout-auto-fill)) - (allout-resumptions 'allout-outside-normal-auto-fill-function - (list normal-auto-fill-function)) - (allout-resumptions 'normal-auto-fill-function '(allout-auto-fill)) - ;; Paragraphs are broken by topic headlines. - (make-local-variable 'paragraph-start) - (allout-resumptions 'paragraph-start - (list (concat paragraph-start "\\|^\\(" - allout-regexp "\\)"))) - (make-local-variable 'paragraph-separate) - (allout-resumptions 'paragraph-separate - (list (concat paragraph-separate "\\|^\\(" - allout-regexp "\\)"))) + (allout-add-resumptions '(line-move-ignore-invisible t)) + (add-hook 'pre-command-hook 'allout-pre-command-business nil t) + (add-hook 'post-command-hook 'allout-post-command-business nil t) + (when (featurep 'xemacs) + (add-hook 'before-change-functions 'allout-before-change-handler + nil t)) + (add-hook 'isearch-mode-end-hook 'allout-isearch-end-handler nil t) + (add-hook write-file-hook-var-name 'allout-write-file-hook-handler + nil t) + (add-hook 'auto-save-hook 'allout-auto-save-hook-handler + nil t) + ;; Stash auto-fill settings and adjust so custom allout auto-fill + ;; func will be used if auto-fill is active or activated. (The + ;; custom func respects topic headline, maintains hanging-indents, + ;; etc.) + (if (and auto-fill-function (not allout-inhibit-auto-fill)) + ;; allout-auto-fill will use the stashed values and so forth. + (allout-add-resumptions '(auto-fill-function allout-auto-fill))) + (allout-add-resumptions (list 'allout-former-auto-filler + auto-fill-function) + ;; Register allout-auto-fill to be used if + ;; filling is active: + (list 'allout-outside-normal-auto-fill-function + normal-auto-fill-function) + '(normal-auto-fill-function allout-auto-fill) + ;; Paragraphs are broken by topic headlines. + (list 'paragraph-start + (concat paragraph-start "\\|^\\(" + allout-regexp "\\)")) + (list 'paragraph-separate + (concat paragraph-separate "\\|^\\(" + allout-regexp "\\)"))) (or (assq 'allout-mode minor-mode-alist) (setq minor-mode-alist (cons '(allout-mode " Allout") minor-mode-alist))) @@ -1702,8 +1722,9 @@ OPEN: A topic that is not closed, though its offspring or body may be." ;; Reactivation: ((setq do-layout t) (allout-infer-body-reindent)) - ) ; cond + ) ;; end of activation-mode cases. + ;; Do auto layout if warranted: (let ((use-layout (if (listp allout-layout) allout-layout allout-default-layout))) @@ -1802,9 +1823,14 @@ See allout-overlay-interior-modification-handler for details. This before-change handler is used only where modification-hooks overlay property is not supported." - (if (not (allout-mode-p)) - nil - (allout-overlay-interior-modification-handler nil nil beg end nil))) + ;; allout-overlay-interior-modification-handler on an overlay handles + ;; this in other emacs, via `allout-exposure-category's 'modification-hooks. + (when (and (featurep 'xemacs) (allout-mode-p)) + ;; process all of the pending overlays: + (dolist (overlay (overlays-in beg end)) + (if (eq (overlay-get ol 'invisible) 'allout) + (allout-overlay-interior-modification-handler + overlay nil beg end nil))))) ;;;_ > allout-isearch-end-handler (&optional overlay) (defun allout-isearch-end-handler (&optional overlay) "Reconcile allout outline exposure on arriving in hidden text after isearch. @@ -2018,12 +2044,12 @@ Outermost is first." (if (allout-hidden-p) (forward-char 1)))) ;;;_ > allout-next-heading () (defsubst allout-next-heading () - "Move to the heading for the topic \(possibly invisible) before this one. + "Move to the heading for the topic \(possibly invisible) after this one. Returns the location of the heading, or nil if none found." - (if (and (bobp) (not (eobp))) - (forward-char 1)) + (if (and (bobp) (not (eobp)) (looking-at allout-regexp)) + (forward-char 1)) (if (re-search-forward allout-line-boundary-regexp nil 0) (allout-prefix-data ; Got valid location state - set vars: @@ -2688,36 +2714,52 @@ return to regular interpretation of self-insert characters." (if (not (allout-mode-p)) nil - ;; Hot-spot navigation provisions: (if (and (eq this-command 'self-insert-command) (eq (point)(allout-current-bullet-pos))) - (let* ((this-key-num (cond - ((numberp last-command-char) - last-command-char) - ;; Only xemacs has characterp. - ((and (fboundp 'characterp) - (apply 'characterp - (list last-command-char))) - (apply 'char-to-int (list last-command-char))) - (t 0))) - mapped-binding) - (if (zerop this-key-num) - nil - ; Map upper-register literals - ; to lower register: - (if (<= 96 this-key-num) - (setq this-key-num (- this-key-num 32))) - ; Check if we have a literal: - (if (and (<= 64 this-key-num) - (>= 96 this-key-num)) - (setq mapped-binding - (lookup-key 'allout-mode-map - (concat allout-command-prefix - (char-to-string (- this-key-num - 64)))))) - (if mapped-binding - (setq allout-post-goto-bullet t - this-command mapped-binding))))))) + (allout-hotspot-key-handler)))) +;;;_ > allout-hotspot-key-handler () +(defun allout-hotspot-key-handler () + "Catchall handling of key bindings in hot-spots. + +Translates unmodified keystrokes to corresponding allout commands, when +they would qualify if prefixed with the allout-command-prefix, and sets +this-command accordingly. + +Returns the qualifying command, if any, else nil." + (interactive) + (let* ((key-num (cond ((numberp last-command-char) last-command-char) + ;; for XEmacs character type: + ((and (fboundp 'characterp) + (apply 'characterp (list last-command-char))) + (apply 'char-to-int (list last-command-char))) + (t 0))) + mapped-binding + (on-bullet (eq (point) (allout-current-bullet-pos)))) + + (if (zerop key-num) + nil + + (if (and (<= 33 key-num) + (setq mapped-binding + (key-binding (concat allout-command-prefix + (char-to-string + (if (and (<= 97 key-num) ; "a" + (>= 122 key-num)) ; "z" + (- key-num 96) key-num))) + t))) + ;; Qualified with the allout prefix - do hot-spot operation. + (setq allout-post-goto-bullet t) + ;; accept-defaults nil, or else we'll get allout-item-icon-key-handler. + (setq mapped-binding (key-binding (char-to-string key-num)))) + + (while (keymapp mapped-binding) + (setq mapped-binding + (lookup-key mapped-binding (read-key-sequence-vector nil t)))) + + (if mapped-binding + (setq allout-post-goto-bullet on-bullet + this-command mapped-binding))))) + ;;;_ > allout-find-file-hook () (defun allout-find-file-hook () "Activate `allout-mode' on non-nil `allout-auto-activation', `allout-layout'. @@ -3146,21 +3188,23 @@ topic prior to the current one." Maintains outline hanging topic indentation if `allout-use-hanging-indents' is set." - (let ((fill-prefix (if allout-use-hanging-indents - ;; Check for topic header indentation: - (save-excursion - (beginning-of-line) - (if (looking-at allout-regexp) - ;; ... construct indentation to account for - ;; length of topic prefix: - (make-string (progn (allout-end-of-prefix) - (current-column)) - ?\ ))))) - (use-auto-fill-function (or allout-outside-normal-auto-fill-function - auto-fill-function - 'do-auto-fill))) - (if (or allout-former-auto-filler allout-use-hanging-indents) - (funcall use-auto-fill-function)))) + + (when (not allout-inhibit-auto-fill) + (let ((fill-prefix (if allout-use-hanging-indents + ;; Check for topic header indentation: + (save-excursion + (beginning-of-line) + (if (looking-at allout-regexp) + ;; ... construct indentation to account for + ;; length of topic prefix: + (make-string (progn (allout-end-of-prefix) + (current-column)) + ?\ ))))) + (use-auto-fill-function (or allout-outside-normal-auto-fill-function + auto-fill-function + 'do-auto-fill))) + (if (or allout-former-auto-filler allout-use-hanging-indents) + (funcall use-auto-fill-function))))) ;;;_ > allout-reindent-body (old-depth new-depth &optional number) (defun allout-reindent-body (old-depth new-depth &optional number) "Reindent body lines which were indented at OLD-DEPTH to NEW-DEPTH. @@ -3601,8 +3645,10 @@ when yank with allout-yank into an outline as a heading." (forward-char 1))) (if collapsed - (put-text-property beg (1+ beg) 'allout-was-collapsed t) - (remove-text-properties beg (1+ beg) '(allout-was-collapsed t))) + (allout-unprotected + (put-text-property beg (1+ beg) 'allout-was-collapsed t)) + (allout-unprotected + (remove-text-properties beg (1+ beg) '(allout-was-collapsed t)))) (allout-unprotected (kill-region beg (point))) (sit-for 0) (save-excursion @@ -3834,12 +3880,12 @@ by pops to non-distinctive yanks. Bug..." Text is shown if flag is nil and hidden otherwise." ;; We use outline invisibility spec. - (remove-overlays from to 'category 'allout-overlay-category) + (remove-overlays from to 'category 'allout-exposure-category) (when flag (let ((o (make-overlay from to))) - (overlay-put o 'category 'allout-overlay-category) + (overlay-put o 'category 'allout-exposure-category) (when (featurep 'xemacs) - (let ((props (symbol-plist 'allout-overlay-category))) + (let ((props (symbol-plist 'allout-exposure-category))) (while props (overlay-put o (pop props) (pop props))))))) (run-hooks 'allout-view-change-hook) @@ -3860,9 +3906,9 @@ Text is shown if flag is nil and hidden otherwise." flag))) ;;;_ - Topic-specific -;;;_ > allout-show-entry (&optional inclusive) -(defun allout-show-entry (&optional inclusive) - "Like `allout-show-current-entry', reveals entries nested in hidden topics. +;;;_ > allout-show-entry () +(defun allout-show-entry () + "Like `allout-show-current-entry', but reveals entries in hidden topics. This is a way to give restricted peek at a concealed locality without the expense of exposing its context, but can leave the outline with aberrant @@ -3977,7 +4023,6 @@ Useful for coherently exposing to a random point in a hidden region." t))) ;;;_ > allout-show-current-entry (&optional arg) (defun allout-show-current-entry (&optional arg) - "Show body following current heading, or hide entry with universal argument." (interactive "P") @@ -5919,7 +5964,131 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t." (isearch-repeat 'forward) (isearch-mode t))) -;;;_ #11 Provide +;;;_ #11 Unit tests - this should be last item before "Provide" +;;;_ > allout-run-unit-tests () +(defun allout-run-unit-tests () + "Run the various allout unit tests." + (message "Running allout tests...") + (allout-test-resumptions) + (message "Running allout tests... Done.") + (sit-for .5)) +;;;_ : test resumptions: +;;;_ > allout-tests-obliterate-variable (name) +(defun allout-tests-obliterate-variable (name) + "Completely unbind variable with NAME." + (if (local-variable-p name) (kill-local-variable name)) + (while (boundp name) (makunbound name))) +;;;_ > allout-test-resumptions () +(defvar allout-tests-globally-unbound nil + "Fodder for allout resumptions tests - defvar just for byte compiler.") +(defvar allout-tests-globally-true nil + "Fodder for allout resumptions tests - defvar just just for byte compiler.") +(defvar allout-tests-locally-true nil + "Fodder for allout resumptions tests - defvar just for byte compiler.") +(defun allout-test-resumptions () + "Exercise allout resumptions." + ;; for each resumption case, we also test that the right local/global + ;; scopes are affected during resumption effects: + + ;; ensure that previously unbound variables return to the unbound state. + (with-temp-buffer + (allout-tests-obliterate-variable 'allout-tests-globally-unbound) + (allout-add-resumptions '(allout-tests-globally-unbound t)) + (assert (not (default-boundp 'allout-tests-globally-unbound))) + (assert (local-variable-p 'allout-tests-globally-unbound)) + (assert (boundp 'allout-tests-globally-unbound)) + (assert (equal allout-tests-globally-unbound t)) + (allout-do-resumptions) + (assert (not (local-variable-p 'allout-tests-globally-unbound))) + (assert (not (boundp 'allout-tests-globally-unbound)))) + + ;; ensure that variable with prior global value is resumed + (with-temp-buffer + (allout-tests-obliterate-variable 'allout-tests-globally-true) + (setq allout-tests-globally-true t) + (allout-add-resumptions '(allout-tests-globally-true nil)) + (assert (equal (default-value 'allout-tests-globally-true) t)) + (assert (local-variable-p 'allout-tests-globally-true)) + (assert (equal allout-tests-globally-true nil)) + (allout-do-resumptions) + (assert (not (local-variable-p 'allout-tests-globally-true))) + (assert (boundp 'allout-tests-globally-true)) + (assert (equal allout-tests-globally-true t))) + + ;; ensure that prior local value is resumed + (with-temp-buffer + (allout-tests-obliterate-variable 'allout-tests-locally-true) + (set (make-local-variable 'allout-tests-locally-true) t) + (assert (not (default-boundp 'allout-tests-locally-true)) + nil (concat "Test setup mistake - variable supposed to" + " not have global binding, but it does.")) + (assert (local-variable-p 'allout-tests-locally-true) + nil (concat "Test setup mistake - variable supposed to have" + " local binding, but it lacks one.")) + (allout-add-resumptions '(allout-tests-locally-true nil)) + (assert (not (default-boundp 'allout-tests-locally-true))) + (assert (local-variable-p 'allout-tests-locally-true)) + (assert (equal allout-tests-locally-true nil)) + (allout-do-resumptions) + (assert (boundp 'allout-tests-locally-true)) + (assert (local-variable-p 'allout-tests-locally-true)) + (assert (equal allout-tests-locally-true t)) + (assert (not (default-boundp 'allout-tests-locally-true)))) + + ;; ensure that last of multiple resumptions holds, for various scopes. + (with-temp-buffer + (allout-tests-obliterate-variable 'allout-tests-globally-unbound) + (allout-tests-obliterate-variable 'allout-tests-globally-true) + (setq allout-tests-globally-true t) + (allout-tests-obliterate-variable 'allout-tests-locally-true) + (set (make-local-variable 'allout-tests-locally-true) t) + (allout-add-resumptions '(allout-tests-globally-unbound t) + '(allout-tests-globally-true nil) + '(allout-tests-locally-true nil)) + (allout-add-resumptions '(allout-tests-globally-unbound 2) + '(allout-tests-globally-true 3) + '(allout-tests-locally-true 4)) + ;; reestablish many of the basic conditions are maintained after re-add: + (assert (not (default-boundp 'allout-tests-globally-unbound))) + (assert (local-variable-p 'allout-tests-globally-unbound)) + (assert (equal allout-tests-globally-unbound 2)) + (assert (default-boundp 'allout-tests-globally-true)) + (assert (local-variable-p 'allout-tests-globally-true)) + (assert (equal allout-tests-globally-true 3)) + (assert (not (default-boundp 'allout-tests-locally-true))) + (assert (local-variable-p 'allout-tests-locally-true)) + (assert (equal allout-tests-locally-true 4)) + (allout-do-resumptions) + (assert (not (local-variable-p 'allout-tests-globally-unbound))) + (assert (not (boundp 'allout-tests-globally-unbound))) + (assert (not (local-variable-p 'allout-tests-globally-true))) + (assert (boundp 'allout-tests-globally-true)) + (assert (equal allout-tests-globally-true t)) + (assert (boundp 'allout-tests-locally-true)) + (assert (local-variable-p 'allout-tests-locally-true)) + (assert (equal allout-tests-locally-true t)) + (assert (not (default-boundp 'allout-tests-locally-true)))) + + ;; ensure that deliberately unbinding registered variables doesn't foul things + (with-temp-buffer + (allout-tests-obliterate-variable 'allout-tests-globally-unbound) + (allout-tests-obliterate-variable 'allout-tests-globally-true) + (setq allout-tests-globally-true t) + (allout-tests-obliterate-variable 'allout-tests-locally-true) + (set (make-local-variable 'allout-tests-locally-true) t) + (allout-add-resumptions '(allout-tests-globally-unbound t) + '(allout-tests-globally-true nil) + '(allout-tests-locally-true nil)) + (allout-tests-obliterate-variable 'allout-tests-globally-unbound) + (allout-tests-obliterate-variable 'allout-tests-globally-true) + (allout-tests-obliterate-variable 'allout-tests-locally-true) + (allout-do-resumptions)) + ) +;;;_ % Run unit tests if `allout-run-unit-tests-after-load' is true: +(when allout-run-unit-tests-on-load + (allout-run-unit-tests)) + +;;;_ #12 Provide (provide 'allout) ;;;_* Local emacs vars. From 0779eeea8fa08f9c223840ea511c6f329557bbfe Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 14 Jul 2006 11:28:20 +0000 Subject: [PATCH 230/336] Update the Allout entry --- etc/NEWS | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 4ee8f74fa4a..eccfaa39e49 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -2011,10 +2011,22 @@ discretionary handling of edits of concealed text, undo concerns, etc. - repaired retention of topic body hanging indent upon topic depth shifts - refuse to create "containment discontinuities", where a topic is shifted deeper than the offspring-depth of its' container + - auto-fill-mode is now left inactive when allout-mode starts, if it + already was inactive. also, `allout-inhibit-auto-fill' custom + configuration variable makes it easy to disable auto fill in allout + outlines in general or on a per-buffer basis. + - new hook `allout-mode-deactivate-hook', for coordinating with + deactivation of allout-mode. - bulleting variation is simpler and more accommodating, both in the default behavior and in ability to vary when creating new topics - - many internal fixes and refinements - - many module and function docstring clarifications + - mode deactivation now does cleans up effectively, more properly + restoring affected variables and hooks to former state, removing + overlays, etc. + - included a few unit-tests for interior functionality. developers can + have them automatically run at the end of module load by customizing + the option `allout-run-unit-tests-on-load'. + - many, many minor tweaks and fixes. many internal fixes and + refinements of docstrings. - version number incremented to 2.2 ** The variable `woman-topic-at-point' was renamed From 4543c9088eea70c5ecda2555d546885e8b875db6 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 14 Jul 2006 12:04:25 +0000 Subject: [PATCH 231/336] (PKG_CHECK_MODULES): Redirect the output of $PKG_CONFIG --exists "$2" to config.log. --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 48ba5d0b2e6..f6fe08f8f54 100644 --- a/configure.in +++ b/configure.in @@ -1500,7 +1500,7 @@ AC_DEFUN([PKG_CHECK_MODULES], [ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then AC_MSG_CHECKING(for $2) - if $PKG_CONFIG --exists "$2" 2> /dev/null; then + if $PKG_CONFIG --exists "$2" 2>&5; then AC_MSG_RESULT(yes) succeeded=yes From 67db6aa2fcabd5a486882ff334e9a9a355b726a9 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 14 Jul 2006 12:04:46 +0000 Subject: [PATCH 232/336] Regenerated. --- configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 1e5a006399c..67204dc43dd 100755 --- a/configure +++ b/configure @@ -5693,7 +5693,7 @@ fi echo "$as_me:$LINENO: checking for $ALSA_MODULES" >&5 echo $ECHO_N "checking for $ALSA_MODULES... $ECHO_C" >&6 - if $PKG_CONFIG --exists "$ALSA_MODULES" 2> /dev/null; then + if $PKG_CONFIG --exists "$ALSA_MODULES" 2>&5; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes @@ -10382,7 +10382,7 @@ echo "$as_me: error: echo "$as_me:$LINENO: checking for $GTK_MODULES" >&5 echo $ECHO_N "checking for $GTK_MODULES... $ECHO_C" >&6 - if $PKG_CONFIG --exists "$GTK_MODULES" 2> /dev/null; then + if $PKG_CONFIG --exists "$GTK_MODULES" 2>&5; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes From 41bab5e373421ffbb8199d560587eb1c9964a19d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 14 Jul 2006 12:05:02 +0000 Subject: [PATCH 233/336] ChangeLog --- ChangeLog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5c80bf1e874..b34b4d6d09c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-07-14 Eli Zaretskii + + * configure.in (PKG_CHECK_MODULES): Redirect the output of + $PKG_CONFIG --exists "$2" to config.log. + * configure: Regenerated. + 2006-07-14 Kim F. Storm * AUTHORS: Regenerate. From 64570b36c56a950c1fd255ba8548aa01674cc62d Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 14:18:40 +0000 Subject: [PATCH 234/336] (pfn_WSACreateEvent, pfn_WSACloseEvent): New func ptrs. (init_winsock): Load them. Use ws2_32.dll. (sys_listen): Undo last change. Just set FILE_LISTEN flag. (sys_accept): Undo last change. Instead, set child status to STATUS_READ_ACKNOWLEDGED and reset char_avail event so next sys_select will wakeup the reader thread. (_sys_wait_accept): New function used by reader thread to wait for an incoming connection on a server socket. --- src/w32.c | 58 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/src/w32.c b/src/w32.c index 10b912709fc..d01a1022a19 100644 --- a/src/w32.c +++ b/src/w32.c @@ -2701,6 +2701,8 @@ int (PASCAL *pfn_WSAStartup) (WORD wVersionRequired, LPWSADATA lpWSAData); void (PASCAL *pfn_WSASetLastError) (int iError); int (PASCAL *pfn_WSAGetLastError) (void); int (PASCAL *pfn_WSAEventSelect) (SOCKET s, HANDLE hEventObject, long lNetworkEvents); +HANDLE (PASCAL *pfn_WSACreateEvent) (void); +int (PASCAL *pfn_WSACloseEvent) (HANDLE hEvent); int (PASCAL *pfn_socket) (int af, int type, int protocol); int (PASCAL *pfn_bind) (SOCKET s, const struct sockaddr *addr, int namelen); int (PASCAL *pfn_connect) (SOCKET s, const struct sockaddr *addr, int namelen); @@ -2770,7 +2772,7 @@ init_winsock (int load_now) = (void *) GetProcAddress (GetModuleHandle ("kernel32.dll"), "SetHandleInformation"); - winsock_lib = LoadLibrary ("wsock32.dll"); + winsock_lib = LoadLibrary ("Ws2_32.dll"); if (winsock_lib != NULL) { @@ -2784,6 +2786,8 @@ init_winsock (int load_now) LOAD_PROC( WSASetLastError ); LOAD_PROC( WSAGetLastError ); LOAD_PROC( WSAEventSelect ); + LOAD_PROC( WSACreateEvent ); + LOAD_PROC( WSACloseEvent ); LOAD_PROC( socket ); LOAD_PROC( bind ); LOAD_PROC( connect ); @@ -3298,10 +3302,7 @@ sys_listen (int s, int backlog) if (rc == SOCKET_ERROR) set_errno (); else - { - fd_info[s].flags |= FILE_LISTEN; - pfn_WSAEventSelect (SOCK_HANDLE (s), fd_info[s].cp->char_avail, FD_ACCEPT); - } + fd_info[s].flags |= FILE_LISTEN; return rc; } h_errno = ENOTSOCK; @@ -3342,16 +3343,15 @@ sys_accept (int s, struct sockaddr * addr, int * addrlen) if (fd_info[s].flags & FILE_LISTEN) { SOCKET t = pfn_accept (SOCK_HANDLE (s), addr, addrlen); - if (t != INVALID_SOCKET) - { - int fd = socket_to_fd (t); - if (fd >= 0) - pfn_WSAEventSelect (SOCK_HANDLE (fd), fd_info[fd].cp->char_avail, FD_READ | FD_CLOSE); - return fd; - } + int fd = -1; + if (t == INVALID_SOCKET) + set_errno (); + else + fd = socket_to_fd (t); - set_errno (); - return -1; + fd_info[s].cp->status = STATUS_READ_ACKNOWLEDGED; + ResetEvent (fd_info[s].cp->char_avail); + return fd; } h_errno = ENOTSOCK; return -1; @@ -3653,6 +3653,36 @@ _sys_read_ahead (int fd) return cp->status; } +int _sys_wait_accept (int fd) +{ + HANDLE hEv; + child_process * cp; + int rc; + + if (fd < 0 || fd >= MAXDESC) + return STATUS_READ_ERROR; + + cp = fd_info[fd].cp; + + if (cp == NULL || cp->fd != fd || cp->status != STATUS_READ_READY) + return STATUS_READ_ERROR; + + cp->status = STATUS_READ_FAILED; + + hEv = pfn_WSACreateEvent (); + rc = pfn_WSAEventSelect (SOCK_HANDLE (fd), hEv, FD_ACCEPT); + if (rc != SOCKET_ERROR) + { + rc = WaitForSingleObject (hEv, INFINITE); + pfn_WSAEventSelect (SOCK_HANDLE (fd), NULL, 0); + pfn_WSACloseEvent (hEv); + if (rc == WAIT_OBJECT_0) + cp->status = STATUS_READ_SUCCEEDED; + } + + return cp->status; +} + int sys_read (int fd, char * buffer, unsigned int count) { From c8b6788004fc30da0e8b702b043d3b0e280fdbd6 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 14:18:44 +0000 Subject: [PATCH 235/336] (_sys_read_ahead, _sys_wait_accept): Add prototypes. --- src/w32.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/w32.h b/src/w32.h index acbadd8b57c..1d5dbee6d40 100644 --- a/src/w32.h +++ b/src/w32.h @@ -137,6 +137,9 @@ extern void syms_of_w32menu (void); extern void globals_of_w32menu (void); extern void syms_of_fontset (void); +extern int _sys_read_ahead (int fd); +extern int _sys_wait_accept (int fd); + #endif /* EMACS_W32_H */ /* arch-tag: 02c36b00-312b-4c4d-a1d9-f905c5e968f0 From f9125cde75438bba2db30f52910554686bb9f140 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 14:18:52 +0000 Subject: [PATCH 236/336] (reader_thread): Use _sys_wait_accept to wait on a server socket (FILE_LISTEN flag). --- src/w32proc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/w32proc.c b/src/w32proc.c index a9e0e0cb83f..d874d183b17 100644 --- a/src/w32proc.c +++ b/src/w32proc.c @@ -1,6 +1,6 @@ /* Process support for GNU Emacs on the Microsoft W32 API. Copyright (C) 1992, 1995, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006 Free Software Foundation, Inc. + 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -280,7 +280,10 @@ reader_thread (void *arg) { int rc; - rc = _sys_read_ahead (cp->fd); + if (fd_info[cp->fd].flags & FILE_LISTEN) + rc = _sys_wait_accept (cp->fd); + else + rc = _sys_read_ahead (cp->fd); /* The name char_avail is a misnomer - it really just means the read-ahead has completed, whether successfully or not. */ From ade79051d8415a90c73363efc17eee2d1c093fbc Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 15:03:52 +0000 Subject: [PATCH 237/336] Emacs now requires ws2_32.dll on Windows. --- etc/PROBLEMS | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 9f7d7eb313f..3962459e61a 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -929,12 +929,12 @@ make it compiled by the latest Emacs. + ;; The only way the function is used in this package is included + ;; in `mucs-package-definition-end-hook' value, where it must + ;; return (possibly empty) *list* of forms. Do this. Do not rely -+ ;; on byte compiler to remove extra `progn's in `(progn ...)' ++ ;; on byte compiler to remove extra `progn's in `(progn ...)' + ;; form. + `((setq mucs-ccl-facility-alist + (quote ,mucs-ccl-facility-alist)) + ,@result))) - + ;;; Add hook for embedding translation informations to a package. (add-hook 'mucs-package-definition-end-hook @@ -2023,6 +2023,15 @@ to allocate ptys reliably. * Runtime problems specific to MS-Windows +** Windows 95 and networking. + +To support server sockets, Emacs 22.1 loads ws2_32.dll. If this file +is missing, all Emacs networking features are disabled. + +Old versions of Windows 95 may not have the required DLL. To use +Emacs' networking features on Windows 95, you must install the +"Windows Socket 2" update available from MicroSoft's support Web. + ** Emacs exits with "X protocol error" when run with an X server for MS-Windows. A certain X server for Windows had a bug which caused this. @@ -2463,7 +2472,7 @@ command when running temacs like this: setarch i386 ./temacs --batch --load loadup [dump|bootstrap] - + *** Fedora Core 4 GNU/Linux: Segfault during dumping. In addition to exec-shield explained above "Linux: Segfault during @@ -2477,7 +2486,7 @@ command: or - setarch i386 -R make bootstrap + setarch i386 -R make bootstrap *** Fatal signal in the command temacs -l loadup inc dump. From d753d9b7adbad9732196cac4b9bb116d5ca3b1ff Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 15:04:08 +0000 Subject: [PATCH 238/336] *** empty log message *** --- etc/ChangeLog | 6 +++++- src/ChangeLog | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/etc/ChangeLog b/etc/ChangeLog index 95756e31468..0a3534c0dca 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,7 +1,11 @@ +2006-07-14 Kim F. Storm + + * PROBLEMS: Emacs now requires ws2_32.dll on Windows. + 2006-07-14 K,Aa(Broly L,Bu(Brentey * HELLO: Update Hungarian sample. - + 2006-07-12 Michael Olson * ERC-NEWS: Update for ERC 5.1.3. diff --git a/src/ChangeLog b/src/ChangeLog index 591bb2fefe9..cb73404cab2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,19 @@ +2006-07-14 Kim F. Storm + + * w32.c (pfn_WSACreateEvent, pfn_WSACloseEvent): New func ptrs. + (init_winsock): Load them. Use ws2_32.dll. + (sys_listen): Undo last change. Just set FILE_LISTEN flag. + (sys_accept): Undo last change. Instead, set child status to + STATUS_READ_ACKNOWLEDGED and reset char_avail event so next + sys_select will wakeup the reader thread. + (_sys_wait_accept): New function used by reader thread to wait for + an incoming connection on a server socket. + + * w32.h (_sys_read_ahead, _sys_wait_accept): Add prototypes. + + * w32proc.c (reader_thread): Use _sys_wait_accept to wait on a + server socket (FILE_LISTEN flag). + 2006-07-14 Jan Dj,Ad(Brv * sound.c (alsa_init): Call snd_pcm_close after successful snd_pcm_open. From 839929ba5306a2a5e83f0f9ca4ab54bcdb180de5 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 22:12:39 +0000 Subject: [PATCH 239/336] *** empty log message *** --- lisp/ChangeLog | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b095c35ee0a..492532e4315 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,14 @@ +2006-07-14 Kim F. Storm + + * emulation/cua-base.el (cua-delete-selection) + (cua-toggle-set-mark): New defcustoms. + (cua-rectangle-modifier-key): Add `alt' modifier. + (cua-replace-region): Don't delete if cua-delete-selection is nil. + (cua-set-mark): Don't clear mark if cua-toggle-set-mark is nil. + Suggested by Klaus Zeitler . + + * emulation/cua-rect.el (cua-help-for-rectangle): Add `alt' modifier. + 2006-07-14 Ken Manheimer * allout.el: Require 'cl during byte-compilation/interactive load, From ae6ffe9997fbfb58fed05eedadafd60370301db2 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 22:14:08 +0000 Subject: [PATCH 240/336] (cua-delete-selection, cua-toggle-set-mark): New defcustoms. (cua-rectangle-modifier-key): Add `alt' modifier. (cua-replace-region): Don't delete if cua-delete-selection is nil. (cua-set-mark): Don't clear mark if cua-toggle-set-mark is nil. Suggested by Klaus Zeitler . --- lisp/emulation/cua-base.el | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index 7a11d6318a9..e1e88ee4399 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el @@ -305,11 +305,23 @@ If the value is nil, use a shifted prefix key to inhibit the override." (const :tag "No delay" nil)) :group 'cua) +(defcustom cua-delete-selection t + "*If non-nil, typed text replaces text in the active selection." + :type '(choice (const :tag "Disabled" nil) + (other :tag "Enabled" t)) + :group 'cua) + (defcustom cua-keep-region-after-copy nil "If non-nil, don't deselect the region after copying." :type 'boolean :group 'cua) +(defcustom cua-toggle-set-mark t + "*In non-nil, the `cua-set-mark' command toggles the mark." + :type '(choice (const :tag "Disabled" nil) + (other :tag "Enabled" t)) + :group 'cua) + (defcustom cua-enable-register-prefix 'not-ctrl-u "*If non-nil, registers are supported via numeric prefix arg. If the value is t, any numeric prefix arg in the range 0 to 9 will be @@ -391,7 +403,8 @@ and after the region marked by the rectangle to search." On non-window systems, always use the meta modifier. Must be set prior to enabling CUA." :type '(choice (const :tag "Meta key" meta) - (const :tag "Hyper key" hyper ) + (const :tag "Alt key" alt) + (const :tag "Hyper key" hyper) (const :tag "Super key" super)) :group 'cua) @@ -783,7 +796,7 @@ Save a copy in register 0 if `cua-delete-copy-to-register-0' is non-nil." (defun cua-replace-region () "Replace the active region with the character you type." (interactive) - (let ((not-empty (cua-delete-region))) + (let ((not-empty (and cua-delete-selection (cua-delete-region)))) (unless (eq this-original-command this-command) (let ((overwrite-mode (and overwrite-mode @@ -1001,7 +1014,7 @@ With a double \\[universal-argument] prefix argument, unconditionally set mark." (arg (setq this-command 'pop-to-mark-command) (pop-to-mark-command)) - (mark-active + ((and cua-toggle-set-mark mark-active) (cua--deactivate) (message "Mark Cleared")) (t From a452073597f33ca182b4f5cbf65f7f7887a15afb Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 22:14:17 +0000 Subject: [PATCH 241/336] (cua-help-for-rectangle): Add `alt' modifier. --- lisp/emulation/cua-rect.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el index 43a66fd0e3e..7db3cca8fae 100644 --- a/lisp/emulation/cua-rect.el +++ b/lisp/emulation/cua-rect.el @@ -1361,6 +1361,7 @@ With prefix arg, indent to that column." (interactive) (let ((M (cond ((eq cua--rectangle-modifier-key 'hyper) " H-") ((eq cua--rectangle-modifier-key 'super) " s-") + ((eq cua--rectangle-modifier-key 'alt) " A-") (t " M-")))) (message (concat (if help "C-?:help" "") From 3f11901a5d35e2f229ab42ee83de1ff46cca3d42 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 23:31:09 +0000 Subject: [PATCH 242/336] Mention that kbd macro has existed since Emacs 20.1. --- etc/NEWS | 2 ++ lispref/ChangeLog | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index eccfaa39e49..59cb508f233 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -4518,6 +4518,8 @@ example, (kbd "C-x C-f") => "\^x\^f" +Actually, this format has existed since Emacs 20.1. + *** Interactive commands can be remapped through keymaps. This is an alternative to using `defadvice' or `substitute-key-definition' diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 64a38096d64..19921c692fa 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,9 @@ +2006-07-15 Kim F. Storm + + * anti.texi (Antinews): Mention redisplay function. + The kbd macro existed, but was not documented, before 22.x. + Function pos-visible-in-window-p is not new in 22.x, just enhanced. + 2006-07-14 Nick Roberts * display.texi (Displaying Messages): Add anchor. From bd04e7deabe504071670b645b7cdbb29f57a845b Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 23:32:14 +0000 Subject: [PATCH 243/336] (Antinews): Mention redisplay function. The kbd macro existed, but was not documented, before 22.x. Function pos-visible-in-window-p is not new in 22.x, just enhanced. --- lispref/anti.texi | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/lispref/anti.texi b/lispref/anti.texi index 78152d7ab31..87bf79b64b0 100644 --- a/lispref/anti.texi +++ b/lispref/anti.texi @@ -23,6 +23,12 @@ earlier major release, Emacs 20, will have a completely rewritten redisplay engine, which will be even simpler.) @itemize @minus +@item +The function @code{redisplay} has been removed. To update the display +without delay, call @code{(sit-for 0)}. Since it is generally +considered wasteful to update the display if there are any pending +input events, no replacement for @code{(redisplay t)} is provided. + @item The function @code{force-window-update} has been removed. It shouldn't be needed, since changes in window contents are detected @@ -80,8 +86,8 @@ removed. In @code{defface} specifications, the @code{supports} predicate is no longer supported. @item -@code{face-attribute-relative-p} and @code{merge-face-attribute} have -been removed. +The functions @code{face-attribute-relative-p} and +@code{merge-face-attribute} have been removed. @item The priority of faces in a list supplied by the @code{:inherit} face @@ -126,9 +132,9 @@ and key sequences: @itemize @minus @item -The @code{kbd} macro has been removed. It isn't that difficult to -write key sequences using the string and vector representations, and -we want to encourage users to learn. +The @code{kbd} macro is now obsolete and is no longer documented. +It isn't that difficult to write key sequences using the string and +vector representations, and we want to encourage users to learn. @item Emacs no longer supports key remapping. You can do pretty much the @@ -304,7 +310,7 @@ In @code{replace-match}, the replacement text now inherits properties from the surrounding text. @item -@code{mode-line-format} no longer supports the @code{:propertize}, +The variable @code{mode-line-format} no longer supports the @code{:propertize}, @code{%i}, and @code{%I} constructs. The function @code{format-mode-line} has been removed. @@ -319,8 +325,9 @@ The functions @code{window-pixel-edges} and think in terms of lines and columns, not pixel coordinates. (Sometime in the distant past, we will do away with graphical terminals entirely, in favor of text terminals.) For similar reasons, the -functions @code{posn-at-point}, @code{posn-at-x-y}, and -@code{pos-visible-in-window-p} have been removed. +functions @code{posn-at-point} and @code{posn-at-x-y} have been removed, and +@code{pos-visible-in-window-p} no longer worries about partially +visible rows. @item The macro @code{save-selected-window} only saves the selected window From dc22651e7373d86639b29b59767617ae01526156 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 14 Jul 2006 23:40:43 +0000 Subject: [PATCH 244/336] Checked anti.texi. --- admin/FOR-RELEASE | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index bd9034b19e8..91c0aaf47f7 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -54,16 +54,16 @@ people who have checked it. SECTION READERS ---------------------------------- lispref/abbrevs.texi "Luc Teirlinck" Chong Yidong -lispref/advice.texi joakim@verona.se Chong Yidong -lispref/anti.texi Chong Yidong +lispref/advice.texi Joakim Verona Chong Yidong +lispref/anti.texi Chong Yidong Kim F. Storm lispref/backups.texi "Luc Teirlinck" Chong Yidong lispref/buffers.texi "Luc Teirlinck" Chong Yidong -lispref/calendar.texi Joakim Verona Chong Yidong +lispref/calendar.texi Joakim Verona Chong Yidong lispref/commands.texi "Luc Teirlinck" Chong Yidong lispref/compile.texi "Luc Teirlinck" Chong Yidong lispref/control.texi "Luc Teirlinck" Chong Yidong lispref/customize.texi Chong Yidong "Luc Teirlinck" -lispref/debugging.texi Joakim Verona Lute Kamstra +lispref/debugging.texi Joakim Verona Lute Kamstra lispref/display.texi Chong Yidong Jason Rumney lispref/edebug.texi Chong Yidong "Luc Teirlinck" lispref/elisp.texi "Luc Teirlinck" Lute Kamstra From 0864179af22fc8876d1aa9578cbb6d7bccff3ad7 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Sat, 15 Jul 2006 00:13:10 +0000 Subject: [PATCH 245/336] *** empty log message *** --- lispref/ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 19921c692fa..761910a8586 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,5 +1,9 @@ 2006-07-15 Kim F. Storm + * maps.texi (Standard Keymaps): Add xref for minibuffer maps. + Add apropos-mode-map, custom-mode-map, esc-map, global-map, + grep-mode-map, help-map, help-mode-map, kmacro-map, and tool-bar-map. + * anti.texi (Antinews): Mention redisplay function. The kbd macro existed, but was not documented, before 22.x. Function pos-visible-in-window-p is not new in 22.x, just enhanced. From 19cafe2c1f4310df2a58ff6cc225226774004ff0 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Sat, 15 Jul 2006 00:14:38 +0000 Subject: [PATCH 246/336] (Standard Keymaps): Add xref for minibuffer maps. Add apropos-mode-map, custom-mode-map, esc-map, global-map, grep-mode-map, help-map, help-mode-map, kmacro-map, and tool-bar-map. --- lispref/maps.texi | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/lispref/maps.texi b/lispref/maps.texi index 9ee1b52fa59..ec7728f7840 100644 --- a/lispref/maps.texi +++ b/lispref/maps.texi @@ -12,11 +12,17 @@ Some of these exist when Emacs is first started, others are loaded only when their respective mode is used. This is not an exhaustive list. +Several keymaps are used in the minibuffer. @xref{Completion Commands}. + Almost all of these maps are used as local maps. Indeed, of the modes that presently exist, only Vip mode and Terminal mode ever change the global keymap. @table @code +@item apropos-mode-map +@vindex apropos-mode-map +A sparse keymap for @code{apropos} buffers. + @item Buffer-menu-mode-map @vindex Buffer-menu-mode-map A full keymap used by Buffer Menu mode. @@ -38,6 +44,9 @@ A sparse keymap for subcommands of the prefix @kbd{C-x 5}. @item ctl-x-map A full keymap for @kbd{C-x} commands. +@item custom-mode-map +A full keymap for Custom mode. + @item debugger-mode-map @vindex debugger-mode-map A full keymap used by Debugger mode. @@ -66,6 +75,10 @@ A full keymap used by Electric Command History mode. @vindex emacs-lisp-mode-map A sparse keymap used by Emacs Lisp mode. +@item esc-map +@vindex esc-map +A full keymap for @kbd{ESC} (or @kbd{Meta}) commands. + @item facemenu-menu @vindex facemenu-menu The sparse keymap that displays the Text Properties menu. @@ -109,6 +122,21 @@ If there are none, then it contains an empty sparse keymap. The sparse keymap for Fundamental mode.@* It is empty and should not be changed. +@item global-map +The full keymap containing default global key bindings.@* +Modes should not modify the Global map. + +@item grep-mode-map +@vindex grep-mode-map +The keymap for @code{grep-mode} buffers. + +@item help-map +The sparse keymap for the keys that follow the help character @kbd{C-h}. + +@item help-mode-map +@vindex help-mode-map +The sparse keymap for Help mode. + @item Helper-help-map @vindex Helper-help-map A full keymap used by the help utility package.@* @@ -132,6 +160,11 @@ search. A keymap for translating keys. This one overrides ordinary key bindings, unlike @code{function-key-map}. @xref{Translating Input}. +@item kmacro-map +@vindex kmacro-map +A sparse keymap for keys that follows the @kbd{C-x C-k} prefix +search. + @item lisp-interaction-mode-map @vindex lisp-interaction-mode-map A sparse keymap used by Lisp Interaction mode. @@ -184,6 +217,9 @@ time. @vindex text-mode-map A sparse keymap used by Text mode. +@item tool-bar-map +The keymap defining the contents of the tool bar. + @item view-mode-map @vindex view-mode-map A full keymap used by View mode. From b51338f646e21e6d436bd0e85a3ae33291f5a210 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Sat, 15 Jul 2006 00:15:02 +0000 Subject: [PATCH 247/336] Checked maps.texi. --- admin/FOR-RELEASE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 91c0aaf47f7..f88a277f525 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -82,7 +82,7 @@ lispref/lists.texi "Luc Teirlinck" Chong Yidong lispref/loading.texi "Luc Teirlinck" Chong Yidong lispref/locals.texi Chong Yidong Nick Roberts lispref/macros.texi "Luc Teirlinck" Chong Yidong -lispref/maps.texi Chong Yidong +lispref/maps.texi Chong Yidong Kim F. Storm lispref/markers.texi "Luc Teirlinck" Chong Yidong lispref/minibuf.texi "Luc Teirlinck" Chong Yidong lispref/modes.texi Chong Yidong From db28aa3c6e6bf3d65f857a0219859f3f224e8bde Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sat, 15 Jul 2006 04:24:52 +0000 Subject: [PATCH 248/336] *** empty log message *** --- lisp/ChangeLog | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 492532e4315..53c6b391dd9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,15 @@ +2006-07-14 Ken Manheimer + + * allout.el (allout-run-unit-tests-on-load): Rectified docstring + grammar. + (allout-beginning-of-current-line): Beware beginning of buffer. + Also, a comment is simplified. + (allout-hotspot-key-handler): Only set allout-post-goto-bullet + when appropriate. (This fix enables use for other than + bullet-hotspot operation.) + (allout-hide-current-subtree): While escalating to sibling-close, + make sure to situate on a topic. + 2006-07-14 Kim F. Storm * emulation/cua-base.el (cua-delete-selection) From 5204800f983c3e994464b5dfe0e1ea1c3b35ffdf Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sat, 15 Jul 2006 04:26:39 +0000 Subject: [PATCH 249/336] (allout-run-unit-tests-on-load): Rectified docstring grammar. (allout-beginning-of-current-line): Beware beginning of buffer. Also, a comment is simplified. (allout-hotspot-key-handler): Only set allout-post-goto-bullet when appropriate. (This fix enables use for other than bullet-hotspot operation.) (allout-hide-current-subtree): While escalating to sibling-close, make sure to situate on a topic. --- lisp/allout.el | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lisp/allout.el b/lisp/allout.el index f7d143be82e..296777ee9d9 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -580,8 +580,8 @@ disable auto-saves for that file." Generally, allout code developers are the only ones who'll want to set this. \(If set, this makes it an even better practice to exercise changes by -doing byte-compilation with a repeat count, so the file is loaded at the -of compilation.) +doing byte-compilation with a repeat count, so the file is loaded after +compilation.) See `allout-run-unit-tests' to see what's run." :type 'boolean @@ -2022,13 +2022,11 @@ Outermost is first." (defun allout-beginning-of-current-line () "Like beginning of line, but to visible text." - ;; XXX We would use `(move-beginning-of-line 1)', but it gets - ;; stuck on some hidden newlines, eg at column 80, as of GNU Emacs 22.0.50. - ;; Conversely, `beginning-of-line' can make no progress in other - ;; situations. Both are necessary, in the order used below. + ;; This combination of move-beginning-of-line and beginning-of-line is + ;; deliberate, but the (beginning-of-line) may now be superfluous. (move-beginning-of-line 1) (beginning-of-line) - (while (or (not (bolp)) (allout-hidden-p)) + (while (and (not (bobp)) (or (not (bolp)) (allout-hidden-p))) (beginning-of-line) (if (or (allout-hidden-p) (not (bolp))) (forward-char -1)))) @@ -2757,8 +2755,7 @@ Returns the qualifying command, if any, else nil." (lookup-key mapped-binding (read-key-sequence-vector nil t)))) (if mapped-binding - (setq allout-post-goto-bullet on-bullet - this-command mapped-binding))))) + (setq this-command mapped-binding))))) ;;;_ > allout-find-file-hook () (defun allout-find-file-hook () @@ -4087,6 +4084,7 @@ siblings, even if the target topic is already closed." ((allout-up-current-level 1 t) (allout-hide-current-subtree)) (t (goto-char 0) (message sibs-msg) + (allout-goto-prefix) (allout-expose-topic '(0 :)) (message (concat sibs-msg " Done.")))) (goto-char from))) From 54b7938f98364bf7fb1f4c2f6028af6c97366630 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sat, 15 Jul 2006 06:37:03 +0000 Subject: [PATCH 250/336] *** empty log message *** --- lispref/ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 761910a8586..a781b9adbf5 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,8 @@ +2006-07-15 Nick Roberts + + * text.texi (Special Properties): Describe fontified text property + in relation to a character (not text). + 2006-07-15 Kim F. Storm * maps.texi (Standard Keymaps): Add xref for minibuffer maps. From f0b99db0a535c0c85f9e92ef9660226f5bf9ff9d Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sat, 15 Jul 2006 06:37:39 +0000 Subject: [PATCH 251/336] (Special Properties): Describe fontified text property in relation to a character (not text). --- lispref/text.texi | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/lispref/text.texi b/lispref/text.texi index c598a4c2010..2974ad25e68 100644 --- a/lispref/text.texi +++ b/lispref/text.texi @@ -3012,24 +3012,23 @@ that all text between the character and where the mouse is have the same @item fontified @kindex fontified @r{(text property)} -This property says whether the text has had faces assigned to it by -font locking. The display engine tests it to decide whether a buffer +This property says whether the character has a face assigned to it by font +locking. The display engine tests it to decide whether a buffer portion needs refontifying before display. @xref{Auto Faces}. It -takes one of these three values---other values are invalid: +takes one of three values: @table @asis @item @code{nil} -Font locking is disabled, or the @code{face} properties on the text, -if any, are invalid. +Font locking is disabled, or the character's @code{face} property, if +any, is invalid. -@item The symbol @code{defer} -This value states that the text's @code{face} properties are invalid -and marks it for deferred fontification. It is used only when ``just -in time'' font locking is enabled. +@item @code{defer} +The character's @code{face} property is invalid and it needs deferred +fontification. It is used only when ``just in time'' font locking is +enabled. @item @code{t} -The @code{face} properties, or lack of them, on the text are currently -valid. +The character's @code{face} property, or absence of one, is valid. @end table @item display @@ -3058,16 +3057,14 @@ argument is as follows: @itemize @bullet{} @item -If @var{object} is a buffer, @var{pos} is the position in the buffer -where the @code{help-echo} text property was found. +If @var{object} is a buffer, @var{pos} is the position in the buffer. @item If @var{object} is an overlay, that overlay has a @code{help-echo} -property, and @var{pos} is the position in the overlay's buffer under -the mouse. +property, and @var{pos} is the position in the overlay's buffer. @item If @var{object} is a string (an overlay string or a string displayed with the @code{display} property), @var{pos} is the position in that -string under the mouse. +string. @end itemize If the value of the @code{help-echo} property is neither a function nor From ba83982b7f01f0265a1e2a3825cf0f4efd89854a Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 16 Jul 2006 04:28:10 +0000 Subject: [PATCH 252/336] Remove spurious * in docstrings. --- lisp/ChangeLog | 21 ++++++++------- lisp/files.el | 70 +++++++++++++++++++++++++------------------------- 2 files changed, 47 insertions(+), 44 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 53c6b391dd9..60492042b60 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,13 +1,17 @@ +2006-07-16 Stefan Monnier + + * files.el: Remove spurious * in docstrings. + 2006-07-14 Ken Manheimer - * allout.el (allout-run-unit-tests-on-load): Rectified docstring + * allout.el (allout-run-unit-tests-on-load): Rectify docstring grammar. - (allout-beginning-of-current-line): Beware beginning of buffer. + (allout-beginning-of-current-line): Beware beginning of buffer. Also, a comment is simplified. - (allout-hotspot-key-handler): Only set allout-post-goto-bullet + (allout-hotspot-key-handler): Only set allout-post-goto-bullet when appropriate. (This fix enables use for other than bullet-hotspot operation.) - (allout-hide-current-subtree): While escalating to sibling-close, + (allout-hide-current-subtree): While escalating to sibling-close, make sure to situate on a topic. 2006-07-14 Kim F. Storm @@ -25,7 +29,7 @@ * allout.el: Require 'cl during byte-compilation/interactive load, for the `assert' macro. - (allout-mode-deactivate-hook): New hook, is run when allout mode + (allout-mode-deactivate-hook): New hook, run when allout mode deactivates. (allout-developer): New allout customization subgroup. (allout-run-unit-tests-on-load): New allout-developer @@ -33,7 +37,7 @@ end of file load/eval. (allout-inhibit-auto-fill): Disable auto-fill activity even during auto-fill-mode. - (allout-resumptions): Removed, to be replaced by... + (allout-resumptions): Remove, to be replaced by... (allout-add-resumptions): Register variable settings to be reinstated by `allout-do-resumptions'. The settings are made buffer-local, but the locality/globality of the suspended setting @@ -54,9 +58,8 @@ auto-fill-function so it is set only if already active. (The related fill-function settings are all made in either case, so that activating auto-fill-mode activity will have the custom - allout-mode behaviors (hanging indent on topics, if configured for - it). Also, remove all allout-exposure-category overlays on mode - deactivation. + allout-mode behaviors (hanging indent on topics, if configured for it). + Remove all allout-exposure-category overlays on mode deactivation. (allout-hotspot-key-handler): New function extracted from `allout-pre-command-business', so the functionality can be used for other purposes, eg as a binding in an overlay. diff --git a/lisp/files.el b/lisp/files.el index af8e3d0e889..fdc4464da86 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -44,7 +44,7 @@ (defcustom delete-auto-save-files t - "*Non-nil means delete auto-save file when a buffer is saved or killed. + "Non-nil means delete auto-save file when a buffer is saved or killed. Note that the auto-save file will not be deleted if the buffer is killed when it has unsaved changes." @@ -53,7 +53,7 @@ when it has unsaved changes." (defcustom directory-abbrev-alist nil - "*Alist of abbreviations for file directories. + "Alist of abbreviations for file directories. A list of elements of the form (FROM . TO), each meaning to replace FROM with TO when it appears in a directory name. This replacement is done when setting up the default directory of a newly visited file. @@ -74,7 +74,7 @@ the name it is linked to." ;; Turn off backup files on VMS since it has version numbers. (defcustom make-backup-files (not (eq system-type 'vax-vms)) - "*Non-nil means make a backup of a file the first time it is saved. + "Non-nil means make a backup of a file the first time it is saved. This can be done by renaming the file or by copying. Renaming means that Emacs renames the existing file so that it is a @@ -103,20 +103,20 @@ But it is local only if you make it local.") (put 'backup-inhibited 'permanent-local t) (defcustom backup-by-copying nil - "*Non-nil means always use copying to create backup files. + "Non-nil means always use copying to create backup files. See documentation of variable `make-backup-files'." :type 'boolean :group 'backup) (defcustom backup-by-copying-when-linked nil - "*Non-nil means use copying to create backups for files with multiple names. + "Non-nil means use copying to create backups for files with multiple names. This causes the alternate names to refer to the latest version as edited. This variable is relevant only if `backup-by-copying' is nil." :type 'boolean :group 'backup) (defcustom backup-by-copying-when-mismatch nil - "*Non-nil means create backups by copying if this preserves owner or group. + "Non-nil means create backups by copying if this preserves owner or group. Renaming may still be used (subject to control of other variables) when it would not result in changing the owner or group of the file; that is, for files which are owned by you and whose group matches @@ -126,7 +126,7 @@ This variable is relevant only if `backup-by-copying' is nil." :group 'backup) (defcustom backup-by-copying-when-privileged-mismatch 200 - "*Non-nil means create backups by copying to preserve a privileged owner. + "Non-nil means create backups by copying to preserve a privileged owner. Renaming may still be used (subject to control of other variables) when it would not result in changing the owner of the file or if the owner has a user id greater than the value of this variable. This is useful @@ -142,7 +142,7 @@ This variable is relevant only if `backup-by-copying' and Called with an absolute file name as argument, it returns t to enable backup.") (defcustom buffer-offer-save nil - "*Non-nil in a buffer means always offer to save buffer on exit. + "Non-nil in a buffer means always offer to save buffer on exit. Do so even if the buffer is not visiting a file. Automatically local in all buffers." :type 'boolean @@ -150,7 +150,7 @@ Automatically local in all buffers." (make-variable-buffer-local 'buffer-offer-save) (defcustom find-file-existing-other-name t - "*Non-nil means find a file under alternative names, in existing buffers. + "Non-nil means find a file under alternative names, in existing buffers. This means if any existing buffer is visiting the file you want under another name, you get the existing buffer instead of a new buffer." :type 'boolean @@ -165,7 +165,7 @@ both at the file level and at the levels of the containing directories." (put 'find-file-visit-truename 'safe-local-variable 'boolean) (defcustom revert-without-query nil - "*Specify which files should be reverted without query. + "Specify which files should be reverted without query. The value is a list of regular expressions. If the file name matches one of these regular expressions, then `revert-buffer' reverts the file without querying @@ -226,7 +226,7 @@ have fast storage with limited space, such as a RAM disk." "Regexp recognizing file names which aren't allowed by the filesystem.") (defcustom file-precious-flag nil - "*Non-nil means protect against I/O errors while saving files. + "Non-nil means protect against I/O errors while saving files. Some modes set this non-nil in particular buffers. This feature works by writing the new contents into a temporary file @@ -241,7 +241,7 @@ breaks any hard links between it and other files." :group 'backup) (defcustom version-control nil - "*Control use of version numbers for backup files. + "Control use of version numbers for backup files. t means make numeric backup versions unconditionally. nil means make them for files that have some already. `never' means do not make them." @@ -254,13 +254,13 @@ nil means make them for files that have some already. '(lambda (x) (or (booleanp x) (equal x 'never)))) (defcustom dired-kept-versions 2 - "*When cleaning directory, number of versions to keep." + "When cleaning directory, number of versions to keep." :type 'integer :group 'backup :group 'dired) (defcustom delete-old-versions nil - "*If t, delete excess backup versions silently. + "If t, delete excess backup versions silently. If nil, ask confirmation. Any other value prevents any trimming." :type '(choice (const :tag "Delete" t) (const :tag "Ask" nil) @@ -268,20 +268,20 @@ If nil, ask confirmation. Any other value prevents any trimming." :group 'backup) (defcustom kept-old-versions 2 - "*Number of oldest versions to keep when a new numbered backup is made." + "Number of oldest versions to keep when a new numbered backup is made." :type 'integer :group 'backup) (put 'kept-old-versions 'safe-local-variable 'integerp) (defcustom kept-new-versions 2 - "*Number of newest versions to keep when a new numbered backup is made. + "Number of newest versions to keep when a new numbered backup is made. Includes the new backup. Must be > 0" :type 'integer :group 'backup) (put 'kept-new-versions 'safe-local-variable 'integerp) (defcustom require-final-newline nil - "*Whether to add a newline automatically at the end of the file. + "Whether to add a newline automatically at the end of the file. A value of t means do this only when the file is about to be saved. A value of `visit' means do this right after the file is visited. @@ -299,7 +299,7 @@ from `mode-require-final-newline'." :group 'editing-basics) (defcustom mode-require-final-newline t - "*Whether to add a newline at end of file, in certain major modes. + "Whether to add a newline at end of file, in certain major modes. Those modes set `require-final-newline' to this value when you enable them. They do so because they are often used for files that are supposed to end in newlines, and the question is how to arrange that. @@ -322,12 +322,12 @@ a final newline, whenever you save a file that really needs one." :version "22.1") (defcustom auto-save-default t - "*Non-nil says by default do auto-saving of every file-visiting buffer." + "Non-nil says by default do auto-saving of every file-visiting buffer." :type 'boolean :group 'auto-save) (defcustom auto-save-visited-file-name nil - "*Non-nil says auto-save a buffer in the file it is visiting, when practical. + "Non-nil says auto-save a buffer in the file it is visiting, when practical. Normally auto-save files are written under other names." :type 'boolean :group 'auto-save) @@ -337,7 +337,7 @@ Normally auto-save files are written under other names." ;; Don't put "\\2" inside expand-file-name, since it will be ;; transformed to "/2" on DOS/Windows. ,(concat temporary-file-directory "\\2") t)) - "*Transforms to apply to buffer file name before making auto-save file name. + "Transforms to apply to buffer file name before making auto-save file name. Each transform is a list (REGEXP REPLACEMENT UNIQUIFY): REGEXP is a regular expression to match against the file name. If it matches, `replace-match' is used to replace the @@ -364,19 +364,19 @@ ignored." :version "21.1") (defcustom save-abbrevs t - "*Non-nil means save word abbrevs too when files are saved. + "Non-nil means save word abbrevs too when files are saved. If `silently', don't ask the user before saving." :type '(choice (const t) (const nil) (const silently)) :group 'abbrev) (defcustom find-file-run-dired t - "*Non-nil means allow `find-file' to visit directories. + "Non-nil means allow `find-file' to visit directories. To visit the directory, `find-file' runs `find-directory-functions'." :type 'boolean :group 'find-file) (defcustom find-directory-functions '(cvs-dired-noselect dired-noselect) - "*List of functions to try in sequence to visit a directory. + "List of functions to try in sequence to visit a directory. Each function is called with the directory name as the sole argument and should return either a buffer or nil." :type '(hook :options (cvs-dired-noselect dired-noselect)) @@ -448,7 +448,7 @@ use `before-save-hook'.") 'write-contents-functions "22.1") (defcustom enable-local-variables t - "*Control use of local variables in files you visit. + "Control use of local variables in files you visit. The value can be t, nil, :safe, or something else. A value of t means file local variables specifications are obeyed @@ -506,7 +506,7 @@ nil means ignore them; anything else means query." (defalias 'file-locked-p 'ignore)) (defcustom view-read-only nil - "*Non-nil means buffers visiting files read-only do so in view mode. + "Non-nil means buffers visiting files read-only do so in view mode. In fact, this means that all read-only buffers normally have View mode enabled, including buffers that are read-only because you visit a file you cannot alter, and buffers you make read-only @@ -1324,7 +1324,7 @@ removes automounter prefixes (see the variable `automount-dir-prefix')." filename))) (defcustom find-file-not-true-dirname-list nil - "*List of logical names for which visiting shouldn't save the true dirname. + "List of logical names for which visiting shouldn't save the true dirname. On VMS, when you visit a file using a logical name that searches a path, you may or may not want the visited file name to record the specific directory where the file was found. If you *do not* want that, add the logical @@ -1373,7 +1373,7 @@ If there is no such live buffer, return nil." found)))) (defcustom find-file-wildcards t - "*Non-nil means file-visiting commands should handle wildcards. + "Non-nil means file-visiting commands should handle wildcards. For example, if you specify `*.c', that would visit all the files whose names match the pattern." :group 'files @@ -1381,7 +1381,7 @@ whose names match the pattern." :type 'boolean) (defcustom find-file-suppress-same-file-warnings nil - "*Non-nil means suppress warning messages for symlinked files. + "Non-nil means suppress warning messages for symlinked files. When nil, Emacs prints a warning when visiting a file that is already visited, but with a different name. Setting this option to t suppresses this warning." @@ -2303,7 +2303,7 @@ symbol and VAL is a value that is considered safe." :type 'alist) (defcustom safe-local-eval-forms nil - "*Expressions that are considered safe in an `eval:' local variable. + "Expressions that are considered safe in an `eval:' local variable. Add expressions to this list if you want Emacs to evaluate them, when they appear in an `eval' local variable specification, without first asking you for confirmation." @@ -2764,7 +2764,7 @@ It is dangerous if either of these conditions are met: (defcustom change-major-mode-with-file-name t - "*Non-nil means \\[write-file] should set the major mode from the file name. + "Non-nil means \\[write-file] should set the major mode from the file name. However, the mode will not be changed if \(1) a local variables list or the `-*-' line specifies a major mode, or \(2) the current major mode is a \"special\" mode, @@ -4499,7 +4499,7 @@ by `sh' are supported." (defcustom list-directory-brief-switches (if (eq system-type 'vax-vms) "" "-CF") - "*Switches for `list-directory' to pass to `ls' for brief listing." + "Switches for `list-directory' to pass to `ls' for brief listing." :type 'string :group 'dired) @@ -4507,7 +4507,7 @@ by `sh' are supported." (if (eq system-type 'vax-vms) "/PROTECTION/SIZE/DATE/OWNER/WIDTH=(OWNER:10)" "-l") - "*Switches for `list-directory' to pass to `ls' for verbose listing." + "Switches for `list-directory' to pass to `ls' for verbose listing." :type 'string :group 'dired) @@ -4638,7 +4638,7 @@ PATTERN that already quotes some of the special characters." "Absolute or relative name of the `ls' program used by `insert-directory'.") (defcustom directory-free-space-program "df" - "*Program to get the amount of free space on a file system. + "Program to get the amount of free space on a file system. We assume the output has the format of `df'. The value of this variable must be just a command name or file name; if you want to specify options, use `directory-free-space-args'. @@ -4652,7 +4652,7 @@ preference to the program given by this variable." (defcustom directory-free-space-args (if (eq system-type 'darwin) "-k" "-Pk") - "*Options to use when running `directory-free-space-program'." + "Options to use when running `directory-free-space-program'." :type 'string :group 'dired) From 95ea88aa190edff8d574350afb92e045c2a9f88b Mon Sep 17 00:00:00 2001 From: Mathias Dahl Date: Sun, 16 Jul 2006 08:09:39 +0000 Subject: [PATCH 253/336] Fix bug in `tumme-get-comment'. --- lisp/tumme.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/tumme.el b/lisp/tumme.el index 26d48e77b2f..b45052bf09e 100644 --- a/lisp/tumme.el +++ b/lisp/tumme.el @@ -2085,11 +2085,11 @@ as initial value." (defun tumme-get-comment (file) "Get comment for file FILE." (save-excursion - (let (end buf comment-beg comment (base-name (file-name-nondirectory file))) + (let (end buf comment-beg comment) (setq buf (find-file tumme-db-file)) (goto-char (point-min)) (when (search-forward-regexp - (format "^%s" base-name) nil t) + (format "^%s" file) nil t) (end-of-line) (setq end (point)) (beginning-of-line) From 9b9c0e5ad9af773e56a044c9c9e45cee50baf0e5 Mon Sep 17 00:00:00 2001 From: Mathias Dahl Date: Sun, 16 Jul 2006 08:14:01 +0000 Subject: [PATCH 254/336] Fix in `tumme-get-comment'. --- lisp/ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 60492042b60..b67abf8e294 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-07-16 Mathias Dahl + + * tumme.el (tumme-get-comment): Fix bug. + 2006-07-16 Stefan Monnier * files.el: Remove spurious * in docstrings. From 912c723552fdb9ff934d768e032b56c23911f2ab Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 16 Jul 2006 17:48:24 +0000 Subject: [PATCH 255/336] fix underfull hbox --- lispref/ChangeLog | 5 +++++ lispref/anti.texi | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index a781b9adbf5..ab74a2d4352 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,8 @@ +2006-07-16 Karl Berry + + * anti.texi (Antinews): reorder face-attribute fns to avoid + underfull hbox. + 2006-07-15 Nick Roberts * text.texi (Special Properties): Describe fontified text property diff --git a/lispref/anti.texi b/lispref/anti.texi index 87bf79b64b0..f0c17dadd61 100644 --- a/lispref/anti.texi +++ b/lispref/anti.texi @@ -86,8 +86,8 @@ removed. In @code{defface} specifications, the @code{supports} predicate is no longer supported. @item -The functions @code{face-attribute-relative-p} and -@code{merge-face-attribute} have been removed. +The functions @code{merge-face-attribute} and +@code{face-attribute-relative-p} have been removed. @item The priority of faces in a list supplied by the @code{:inherit} face From ece35e15a7e73189b45b7c2d2fddcd6f46b0476f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 16 Jul 2006 18:25:23 +0000 Subject: [PATCH 256/336] fix bad page breaks --- lispref/ChangeLog | 3 +++ lispref/hash.texi | 1 - lispref/lists.texi | 8 ++++---- lispref/numbers.texi | 7 +++---- lispref/objects.texi | 2 ++ lispref/strings.texi | 13 +++++++------ 6 files changed, 19 insertions(+), 15 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index ab74a2d4352..3a6818c46e2 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,5 +1,8 @@ 2006-07-16 Karl Berry + * objects.texi, numbers.texi, strings.texi, lists.texi, hash.texi: + fix bad page breaks through chapter 7 (hash.texi). + * anti.texi (Antinews): reorder face-attribute fns to avoid underfull hbox. diff --git a/lispref/hash.texi b/lispref/hash.texi index 1913905af8d..bcc9957228a 100644 --- a/lispref/hash.texi +++ b/lispref/hash.texi @@ -269,7 +269,6 @@ compared case-insensitively. @example (defun case-fold-string= (a b) (compare-strings a nil nil b nil nil t)) - (defun case-fold-string-hash (a) (sxhash (upcase a))) diff --git a/lispref/lists.texi b/lispref/lists.texi index 7de4a6c6ab0..17d3ebc6c44 100644 --- a/lispref/lists.texi +++ b/lispref/lists.texi @@ -1412,8 +1412,8 @@ the value @code{cones}; the key @code{oak} is associated with @end group @end example - The associated values in an alist may be any Lisp objects; so may the -keys. For example, in the following alist, the symbol @code{a} is + Both the values and the keys in an alist may be any Lisp objects. +For example, in the following alist, the symbol @code{a} is associated with the number @code{1}, and the string @code{"b"} is associated with the @emph{list} @code{(2 3)}, which is the @sc{cdr} of the alist element: @@ -1439,7 +1439,7 @@ below) to find the element containing a given value. When neither of these considerations is important, the choice is a matter of taste, as long as you are consistent about it for any given alist. - Note that the same alist shown above could be regarded as having the + The same alist shown above could be regarded as having the associated value in the @sc{cdr} of the element; the value associated with @code{rose} would be the list @code{(red)}. @@ -1557,7 +1557,7 @@ For example: @result{} nil @end smallexample -Note that @code{rassq} cannot search for a value stored in the @sc{car} +@code{rassq} cannot search for a value stored in the @sc{car} of the @sc{cdr} of an element: @smallexample diff --git a/lispref/numbers.texi b/lispref/numbers.texi index bac3b0e114c..6e0de2007d4 100644 --- a/lispref/numbers.texi +++ b/lispref/numbers.texi @@ -606,12 +606,11 @@ otherwise, it signals an @code{arith-error} error. @result{} 2.5 (/ 25 3 2) @result{} 4 +@group (/ -17 6) - @result{} -2 + @result{} -2 @r{(could in theory be @minus{}3 on some machines)} +@end group @end example - -The result of @code{(/ -17 6)} could in principle be -3 on some -machines. @end defun @defun % dividend divisor diff --git a/lispref/objects.texi b/lispref/objects.texi index 3b51b96c780..f708ab79f5e 100644 --- a/lispref/objects.texi +++ b/lispref/objects.texi @@ -1822,12 +1822,14 @@ This function returns a symbol naming the primitive type of @example (type-of 1) @result{} integer +@group (type-of 'nil) @result{} symbol (type-of '()) ; @r{@code{()} is @code{nil}.} @result{} symbol (type-of '(x)) @result{} cons +@end group @end example @end defun diff --git a/lispref/strings.texi b/lispref/strings.texi index 796090bb80c..861e5b1c728 100644 --- a/lispref/strings.texi +++ b/lispref/strings.texi @@ -285,7 +285,7 @@ If @var{omit-nulls} is @code{nil}, the result contains null strings whenever there are two consecutive matches for @var{separators}, or a match is adjacent to the beginning or end of @var{string}. If @var{omit-nulls} is @code{t}, these null strings are omitted from the -result list. +result. If @var{separators} is @code{nil} (or omitted), the default is the value of @code{split-string-default-separators}. @@ -544,10 +544,11 @@ be a list of strings rather than an actual alist. @xref{Association Lists}. @end defun - See also @code{compare-buffer-substrings} in @ref{Comparing Text}, for -a way to compare text in buffers. The function @code{string-match}, -which matches a regular expression against a string, can be used -for a kind of string comparison; see @ref{Regexp Search}. + See also the @code{compare-buffer-substrings} function in +@ref{Comparing Text}, for a way to compare text in buffers. The +function @code{string-match}, which matches a regular expression +against a string, can be used for a kind of string comparison; see +@ref{Regexp Search}. @node String Conversion @comment node-name, next, previous, up @@ -566,7 +567,7 @@ text representation of a string (@pxref{Converting Representations}). @xref{Documentation}, for functions that produce textual descriptions of text characters and general input events (@code{single-key-description} and @code{text-char-description}). These -functions are used primarily for making help messages. +are used primarily for making help messages. @defun char-to-string character @cindex character to string From 7365aa8be1aec39f60512f7b84262f5e022f63cf Mon Sep 17 00:00:00 2001 From: Thien-Thi Nguyen Date: Sun, 16 Jul 2006 21:08:28 +0000 Subject: [PATCH 257/336] (ff-special-constructs): Doc fix. Also, for C/C++ entry, don't assign to free var; simply return the extracted filename. (ff-treat-as-special): Incorporate common preamble from callers. (ff-other-file-name, ff-find-the-other-file): Update call to ff-treat-as-special. --- lisp/find-file.el | 52 ++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/lisp/find-file.el b/lisp/find-file.el index e15d6e62b0b..5618ba58dbe 100644 --- a/lisp/find-file.el +++ b/lisp/find-file.el @@ -189,12 +189,16 @@ To override this, give an argument to `ff-find-other-file'." ;; C/C++ include, for NeXTSTEP too ("^\#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" . (lambda () - (setq fname (buffer-substring (match-beginning 2) (match-end 2))))) + (buffer-substring (match-beginning 2) (match-end 2)))) ) - "*A list of regular expressions for `ff-find-file'. -Specifies how to recognize special constructs such as include files -etc. and an associated method for extracting the filename from that -construct.") + ;; We include `ff-treat-as-special' documentation here so that autoload + ;; can make it available to be read prior to loading this file. + "*List of special constructs for `ff-treat-as-special' to recognize. +Each element, tried in order, has the form (REGEXP . EXTRACT). +If REGEXP matches the current line (from the beginning of the line), +`ff-treat-as-special' calls function EXTRACT with no args. +If EXTRACT returns nil, keep trying. Otherwise, return the +filename that EXTRACT returned.") (defvaralias 'ff-related-file-alist 'ff-other-file-alist) (defcustom ff-other-file-alist 'cc-other-file-alist @@ -405,9 +409,7 @@ If optional IN-OTHER-WINDOW is non-nil, find the file in another window." (ff-list-replace-env-vars (symbol-value ff-search-directories)) (ff-list-replace-env-vars ff-search-directories))) - (save-excursion - (beginning-of-line 1) - (setq fname (ff-treat-as-special))) + (setq fname (ff-treat-as-special)) (cond ((and (not ff-ignore-include) fname) @@ -540,9 +542,7 @@ the `ff-ignore-include' variable." (ff-list-replace-env-vars (symbol-value ff-search-directories)) (ff-list-replace-env-vars ff-search-directories))) - (save-excursion - (beginning-of-line 1) - (setq fname (ff-treat-as-special))) + (setq fname (ff-treat-as-special)) (cond ((and (not ff-ignore-include) fname) @@ -771,20 +771,22 @@ The value used comes from `ff-case-fold-search'." (defun ff-treat-as-special () "Return the file to look for if the construct was special, else nil. -The construct is defined in the variable `ff-special-constructs'." - (let* (fname - (list ff-special-constructs) - (elem (car list)) - (regexp (car elem)) - (match (cdr elem))) - (while (and list (not fname)) - (if (and (looking-at regexp) match) - (setq fname (funcall match))) - (setq list (cdr list)) - (setq elem (car list)) - (setq regexp (car elem)) - (setq match (cdr elem))) - fname)) +See variable `ff-special-constructs'." + (save-excursion + (beginning-of-line 1) + (let* (fname + (list ff-special-constructs) + (elem (car list)) + (regexp (car elem)) + (match (cdr elem))) + (while (and list (not fname)) + (if (and (looking-at regexp) match) + (setq fname (funcall match))) + (setq list (cdr list)) + (setq elem (car list)) + (setq regexp (car elem)) + (setq match (cdr elem))) + fname))) (defun ff-basename (string) "Return the basename of pathname STRING." From 072cb54a86df049efc2eb6669b1427807a058c2b Mon Sep 17 00:00:00 2001 From: Thien-Thi Nguyen Date: Sun, 16 Jul 2006 21:12:46 +0000 Subject: [PATCH 258/336] (ada-mode): Rewrite ff-special-constructs init. --- lisp/ChangeLog | 10 +++++ lisp/progmodes/ada-mode.el | 82 ++++++++++++++------------------------ 2 files changed, 39 insertions(+), 53 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b67abf8e294..2aa9500a9ec 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,13 @@ +2006-07-16 Thien-Thi Nguyen + + * find-file.el (ff-special-constructs): Doc fix. Also, for C/C++ + entry, don't assign to free var; simply return the extracted filename. + (ff-treat-as-special): Incorporate common preamble from callers. + (ff-other-file-name, ff-find-the-other-file): + Update call to ff-treat-as-special. + + * progmodes/ada-mode.el (ada-mode): Rewrite ff-special-constructs init. + 2006-07-16 Mathias Dahl * tumme.el (tumme-get-comment): Fix bug. diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el index 9dc74264da8..bc00d859c2d 100644 --- a/lisp/progmodes/ada-mode.el +++ b/lisp/progmodes/ada-mode.el @@ -1208,60 +1208,36 @@ If you use ada-xref.el: ff-file-created-hook 'ada-make-body) (add-hook 'ff-pre-load-hook 'ada-which-function-are-we-in) - ;; Some special constructs for find-file.el - ;; We do not need to add the construction for 'with', which is in the - ;; standard find-file.el + ;; Some special constructs for find-file.el. (make-local-variable 'ff-special-constructs) - - ;; Go to the parent package : - (add-to-list 'ff-special-constructs - (cons (eval-when-compile - (concat "^\\(private[ \t]\\)?[ \t]*package[ \t]+" - "\\(body[ \t]+\\)?" - "\\(\\(\\sw\\|[_.]\\)+\\)\\.\\(\\sw\\|_\\)+[ \t\n]+is")) - (lambda () - (if (fboundp 'ff-get-file) - (if (boundp 'fname) - (set 'fname (ff-get-file - ada-search-directories-internal - (ada-make-filename-from-adaname - (match-string 3)) - ada-spec-suffixes))))))) - ;; Another special construct for find-file.el : when in a separate clause, - ;; go to the correct package. - (add-to-list 'ff-special-constructs - (cons "^separate[ \t\n]*(\\(\\(\\sw\\|[_.]\\)+\\))" - (lambda () - (if (fboundp 'ff-get-file) - (if (boundp 'fname) - (setq fname (ff-get-file - ada-search-directories-internal - (ada-make-filename-from-adaname - (match-string 1)) - ada-spec-suffixes))))))) - - ;; Another special construct, that redefines the one in find-file.el. The - ;; old one can handle only one possible type of extension for Ada files - ;; remove from the list the standard "with..." that is put by find-file.el, - ;; since it uses the old ada-spec-suffix variable - ;; This one needs to replace the standard one defined in find-file.el (with - ;; Emacs <= 20.4), since that one uses the old variable ada-spec-suffix - (let ((old-construct - (assoc "^with[ \t]+\\([a-zA-Z0-9_\\.]+\\)" ff-special-constructs)) - (new-cdr - (lambda () - (if (fboundp 'ff-get-file) - (if (boundp 'fname) - (set 'fname (ff-get-file - ada-search-directories-internal - (ada-make-filename-from-adaname - (match-string 1)) - ada-spec-suffixes))))))) - (if old-construct - (setcdr old-construct new-cdr) - (add-to-list 'ff-special-constructs - (cons "^with[ \t]+\\([a-zA-Z0-9_\\.]+\\)" - new-cdr)))) + (mapc (lambda (pair) + (add-to-list 'ff-special-constructs pair)) + `( + ;; Go to the parent package. + (,(eval-when-compile + (concat "^\\(private[ \t]\\)?[ \t]*package[ \t]+" + "\\(body[ \t]+\\)?" + "\\(\\(\\sw\\|[_.]\\)+\\)\\.\\(\\sw\\|_\\)+[ \t\n]+is")) + . ,(lambda () + (ff-get-file + ada-search-directories-internal + (ada-make-filename-from-adaname (match-string 3)) + ada-spec-suffixes))) + ;; A "separate" clause. + ("^separate[ \t\n]*(\\(\\(\\sw\\|[_.]\\)+\\))" + . ,(lambda () + (ff-get-file + ada-search-directories-internal + (ada-make-filename-from-adaname (match-string 1)) + ada-spec-suffixes))) + ;; A "with" clause. + ("^with[ \t]+\\([a-zA-Z0-9_\\.]+\\)" + . ,(lambda () + (ff-get-file + ada-search-directories-internal + (ada-make-filename-from-adaname (match-string 1)) + ada-spec-suffixes))) + )) ;; Support for outline-minor-mode (set (make-local-variable 'outline-regexp) From b44409c97d2332b7f1ebe01caee02fc270165ef3 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Sun, 16 Jul 2006 22:19:06 +0000 Subject: [PATCH 259/336] Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 115) - Update from CVS 2006-07-16 NAKAJI Hiroyuki (tiny change) * lisp/gnus/mm-util.el (mm-charset-synonym-alist): Map windows-31j to cp932. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-353 --- lisp/gnus/ChangeLog | 4 ++++ lisp/gnus/mm-util.el | 14 +++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 825a8bce003..e443056e034 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,7 @@ +2006-07-16 NAKAJI Hiroyuki (tiny change) + + * mm-util.el (mm-charset-synonym-alist): Map windows-31j to cp932. + 2006-07-14 Andreas Seltenreich * gnus-start.el (gnus-subscribe-options-newsgroup-method): Doc fix. diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index 634d1f66675..26a1bf23e84 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el @@ -204,19 +204,19 @@ the alias. Else windows-NUMBER is used." `( ;; Not in XEmacs, but it's not a proper MIME charset anyhow. ,@(unless (mm-coding-system-p 'x-ctext) - '((x-ctext . ctext))) + '((x-ctext . ctext))) ;; ISO-8859-15 is very similar to ISO-8859-1. But it's _different_! ,@(unless (mm-coding-system-p 'iso-8859-15) - '((iso-8859-15 . iso-8859-1))) + '((iso-8859-15 . iso-8859-1))) ;; BIG-5HKSCS is similar to, but different than, BIG-5. ,@(unless (mm-coding-system-p 'big5-hkscs) '((big5-hkscs . big5))) ;; Windows-1252 is actually a superset of Latin-1. See also ;; `gnus-article-dumbquotes-map'. ,@(unless (mm-coding-system-p 'windows-1252) - (if (mm-coding-system-p 'cp1252) - '((windows-1252 . cp1252)) - '((windows-1252 . iso-8859-1)))) + (if (mm-coding-system-p 'cp1252) + '((windows-1252 . cp1252)) + '((windows-1252 . iso-8859-1)))) ;; Windows-1250 is a variant of Latin-2 heavily used by Microsoft ;; Outlook users in Czech republic. Use this to allow reading of their ;; e-mails. cp1250 should be defined by M-x codepage-setup. @@ -232,6 +232,10 @@ the alias. Else windows-NUMBER is used." (if (mm-coding-system-p 'cp949) '((ks_c_5601-1987 . cp949)) '((ks_c_5601-1987 . euc-kr)))) + ;; Windows-31J is Windows Codepage 932. + ,@(if (and (not (mm-coding-system-p 'windows-31j)) + (mm-coding-system-p 'cp932)) + '((windows-31j . cp932))) ) "A mapping from unknown or invalid charset names to the real charset names.") From 4a76f78d18b3dae296b59ed632e0cca1fabba734 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 16 Jul 2006 23:30:58 +0000 Subject: [PATCH 260/336] page breaks through chapter 10 --- lispref/ChangeLog | 4 ++-- lispref/control.texi | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 3a6818c46e2..9b9c5a7bc1c 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,7 +1,7 @@ 2006-07-16 Karl Berry - * objects.texi, numbers.texi, strings.texi, lists.texi, hash.texi: - fix bad page breaks through chapter 7 (hash.texi). + * objects.texi, numbers.texi, strings.texi, lists.texi, hash.texi, + control.texi: fix bad page breaks through chapter 10 (control). * anti.texi (Antinews): reorder face-attribute fns to avoid underfull hbox. diff --git a/lispref/control.texi b/lispref/control.texi index d64b03037d6..cabadb3b8dc 100644 --- a/lispref/control.texi +++ b/lispref/control.texi @@ -783,8 +783,11 @@ undesirable results. Instead, use @code{(error "%s" @var{string})}. @end defun @defun signal error-symbol data +This @anchor{Definition of signal} -This function signals an error named by @var{error-symbol}. The +@c unfortunately, a page break is allowed if the anchor immediately +@c follows the @defun, due to hard-to-fix TeXnicalities. +function signals an error named by @var{error-symbol}. The argument @var{data} is a list of additional Lisp objects relevant to the circumstances of the error. From c8068734a7e8201121bae138fa0a24bc8627e20f Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 17 Jul 2006 04:00:54 +0000 Subject: [PATCH 261/336] * dired-aux.el (dired-compress-file): Confirm again if gzipped file already exists. --- lisp/ChangeLog | 5 +++++ lisp/dired-aux.el | 29 ++++++++++++++++------------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2aa9500a9ec..58ae4595c19 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-17 Chong Yidong + + * dired-aux.el (dired-compress-file): Confirm again if gzipped + file already exists. + 2006-07-16 Thien-Thi Nguyen * find-file.el (ff-special-constructs): Doc fix. Also, for C/C++ diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index b4cb8933194..0942c6d1dff 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -745,19 +745,22 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.") ;;; We don't recognize the file as compressed, so compress it. ;;; Try gzip; if we don't have that, use compress. (condition-case nil - (if (not (dired-check-process (concat "Compressing " file) - "gzip" "-f" file)) - (let ((out-name - (if (file-exists-p (concat file ".gz")) - (concat file ".gz") - (concat file ".z")))) - ;; Rename the compressed file to NEWNAME - ;; if it hasn't got that name already. - (if (and newname (not (equal newname out-name))) - (progn - (rename-file out-name newname t) - newname) - out-name))) + (let ((out-name (concat file ".gz"))) + (and (or (not (file-exists-p out-name)) + (y-or-n-p + (format "File %s already exists. Really compress? " + out-name))) + (not (dired-check-process (concat "Compressing " file) + "gzip" "-f" file)) + (or (file-exists-p out-name) + (setq out-name (concat file ".z"))) + ;; Rename the compressed file to NEWNAME + ;; if it hasn't got that name already. + (if (and newname (not (equal newname out-name))) + (progn + (rename-file out-name newname t) + newname) + out-name))) (file-error (if (not (dired-check-process (concat "Compressing " file) "compress" "-f" file)) From b5f02314a0bee4de719ee66111ed80ded2be0889 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 17 Jul 2006 04:07:49 +0000 Subject: [PATCH 262/336] * progmodes/compile.el (compilation-mode-font-lock-keywords): Don't highlight "Compiling file" messages as error. --- lisp/ChangeLog | 3 +++ lisp/progmodes/compile.el | 2 ++ 2 files changed, 5 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 58ae4595c19..e7fbe2131ab 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2006-07-17 Chong Yidong + * progmodes/compile.el (compilation-mode-font-lock-keywords): + Don't highlight "Compiling file" messages as error. + * dired-aux.el (dired-compress-file): Confirm again if gzipped file already exists. diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 3c63d5f01b1..2e60594168a 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -408,6 +408,8 @@ you may also want to change `compilation-page-delimiter'.") '(;; Don't highlight this as a compilation message. ("^Compilation started at.*" (0 '(face nil message nil help-echo nil mouse-face nil) t)) + ("^Compiling file .*" + (0 '(face nil message nil help-echo nil mouse-face nil) t)) ;; configure output lines. ("^[Cc]hecking \\(?:[Ff]or \\|[Ii]f \\|[Ww]hether \\(?:to \\)?\\)?\\(.+\\)\\.\\.\\. *\\(?:(cached) *\\)?\\(\\(yes\\(?: .+\\)?\\)\\|no\\|\\(.*\\)\\)$" (1 font-lock-variable-name-face) From 7e1c1289f923bff74732465800a9b0b95e6c2bd5 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Mon, 17 Jul 2006 04:19:54 +0000 Subject: [PATCH 263/336] *** empty log message *** --- lispref/ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 9b9c5a7bc1c..bc9e67f15e4 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,7 @@ +2006-07-17 Nick Roberts + + * text.texi (Special Properties): Clean up previous change. + 2006-07-16 Karl Berry * objects.texi, numbers.texi, strings.texi, lists.texi, hash.texi, From c9abd530020ee72a61b698f15d573619d7a4971b Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Mon, 17 Jul 2006 04:20:41 +0000 Subject: [PATCH 264/336] (Special Properties): Clean up previous change. --- lispref/text.texi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lispref/text.texi b/lispref/text.texi index 2974ad25e68..59fbbf90c25 100644 --- a/lispref/text.texi +++ b/lispref/text.texi @@ -3023,9 +3023,9 @@ Font locking is disabled, or the character's @code{face} property, if any, is invalid. @item @code{defer} -The character's @code{face} property is invalid and it needs deferred -fontification. It is used only when ``just in time'' font locking is -enabled. +This value is only used when ``just in time'' font locking is enabled +and it means that the character's @code{face} property is invalid and +needs deferred fontification. @item @code{t} The character's @code{face} property, or absence of one, is valid. From ce7d5efe33cb969629e7820928e70819a1280d33 Mon Sep 17 00:00:00 2001 From: Thien-Thi Nguyen Date: Mon, 17 Jul 2006 07:47:41 +0000 Subject: [PATCH 265/336] (display_mode_line): Preserve match data. --- src/ChangeLog | 4 ++++ src/xdisp.c | 1 + 2 files changed, 5 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index cb73404cab2..d3ff8fec6b9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2006-07-17 Thien-Thi Nguyen + + * xdisp.c (display_mode_line): Preserve match data. + 2006-07-14 Kim F. Storm * w32.c (pfn_WSACreateEvent, pfn_WSACloseEvent): New func ptrs. diff --git a/src/xdisp.c b/src/xdisp.c index d37f142e604..9c6c18df435 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -16542,6 +16542,7 @@ display_mode_line (w, face_id, format) kboard-local variables in the mode_line_format will get the right values. */ push_frame_kboard (it.f); + record_unwind_save_match_data (); display_mode_element (&it, 0, 0, 0, format, Qnil, 0); pop_frame_kboard (); From 55dc982c6cf980690aa1c26d2add91664c76db93 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Mon, 17 Jul 2006 14:24:50 +0000 Subject: [PATCH 266/336] *** empty log message *** --- src/ChangeLog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index d3ff8fec6b9..56e375d55b5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,12 @@ +2006-07-17 Kim F. Storm + + * xdisp.c (handle_single_display_spec): Ensure the right value of + it->position is saved by push_it. + (pop_it): Restore it->object for GET_FROM_BUFFER and GET_FROM_STRING. + (reseat_1): Don't setup it->object twice. + (set_iterator_to_next): No need to set it->object after pop_it. + (move_it_to): Explicitly check to see if last move reached to_charpos. + 2006-07-17 Thien-Thi Nguyen * xdisp.c (display_mode_line): Preserve match data. From 062e20358f97d3b5f7b097ad9c05de75a418ca2e Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Mon, 17 Jul 2006 14:25:05 +0000 Subject: [PATCH 267/336] (handle_single_display_spec): Ensure the right value of it->position is saved by push_it. (pop_it): Restore it->object for GET_FROM_BUFFER and GET_FROM_STRING. (reseat_1): Don't setup it->object twice. (set_iterator_to_next): No need to set it->object after pop_it. (move_it_to): Explicitly check to see if last move reached to_charpos. --- src/xdisp.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/xdisp.c b/src/xdisp.c index 9c6c18df435..22be60f7eb8 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -3880,7 +3880,7 @@ handle_single_display_spec (it, spec, object, position, { Lisp_Object form; Lisp_Object location, value; - struct text_pos start_pos; + struct text_pos start_pos, save_pos; int valid_p; /* If SPEC is a list of the form `(when FORM . VALUE)', evaluate FORM. @@ -4097,7 +4097,10 @@ handle_single_display_spec (it, spec, object, position, /* Save current settings of IT so that we can restore them when we are finished with the glyph property value. */ + save_pos = it->position; + it->position = *position; push_it (it); + it->position = save_pos; it->area = TEXT_AREA; it->what = IT_IMAGE; @@ -4171,7 +4174,10 @@ handle_single_display_spec (it, spec, object, position, { /* Save current settings of IT so that we can restore them when we are finished with the glyph property value. */ + save_pos = it->position; + it->position = *position; push_it (it); + it->position = save_pos; if (NILP (location)) it->area = TEXT_AREA; @@ -4983,6 +4989,12 @@ pop_it (it) case GET_FROM_STRETCH: it->object = p->u.comp.object; break; + case GET_FROM_BUFFER: + it->object = it->w->buffer; + break; + case GET_FROM_STRING: + it->object = it->string; + break; } it->end_charpos = p->end_charpos; it->string_nchars = p->string_nchars; @@ -5302,7 +5314,6 @@ reseat_1 (it, pos, set_stop_p) xassert (CHARPOS (pos) >= BEGV && CHARPOS (pos) <= ZV); it->current.pos = it->position = pos; - XSETBUFFER (it->object, current_buffer); it->end_charpos = ZV; it->dpvec = NULL; it->current.dpvec_index = -1; @@ -5800,14 +5811,12 @@ set_iterator_to_next (it, reseat_p) { IT_STRING_BYTEPOS (*it) += it->len; IT_STRING_CHARPOS (*it) += it->cmp_len; - it->object = it->string; goto consider_string_end; } else if (it->method == GET_FROM_BUFFER) { IT_BYTEPOS (*it) += it->len; IT_CHARPOS (*it) += it->cmp_len; - it->object = it->w->buffer; } break; @@ -6047,9 +6056,7 @@ next_element_from_string (it) } } - /* Record what we have and where it came from. Note that we store a - buffer position in IT->position although it could arguably be a - string position. */ + /* Record what we have and where it came from. */ it->what = IT_CHARACTER; it->object = it->string; it->position = position; @@ -6764,6 +6771,10 @@ move_it_to (it, to_charpos, to_x, to_y, to_vpos, op) if (reached) break; } + else if (BUFFERP (it->object) + && it->method == GET_FROM_BUFFER + && IT_CHARPOS (*it) >= to_charpos) + skip = MOVE_POS_MATCH_OR_ZV; else skip = move_it_in_display_line_to (it, to_charpos, -1, MOVE_TO_POS); From 652d420b0f35279ca382f1344962cc0c1a0dd300 Mon Sep 17 00:00:00 2001 From: Reiner Steib Date: Mon, 17 Jul 2006 15:45:42 +0000 Subject: [PATCH 268/336] 2006-07-17 Reiner Steib * ru-refcard.ps: Regenerate. 2006-07-17 Alex Ott * ru-refcard.tex: Update for Emacs 22. --- etc/ChangeLog | 8 + etc/ru-refcard.ps | 6943 ++++++++++++++++++++++++++++++++++---------- etc/ru-refcard.tex | 73 +- 3 files changed, 5412 insertions(+), 1612 deletions(-) diff --git a/etc/ChangeLog b/etc/ChangeLog index 0a3534c0dca..627d536ee69 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,11 @@ +2006-07-17 Reiner Steib + + * ru-refcard.ps: Regenerate. + +2006-07-17 Alex Ott + + * ru-refcard.tex: Update for Emacs 22. + 2006-07-14 Kim F. Storm * PROBLEMS: Emacs now requires ws2_32.dll on Windows. diff --git a/etc/ru-refcard.ps b/etc/ru-refcard.ps index 201708fda8a..8a847504d9a 100644 --- a/etc/ru-refcard.ps +++ b/etc/ru-refcard.ps @@ -1,16 +1,18 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software +%%Creator: dvips(k) 5.95b Copyright 2005 Radical Eye Software %%Title: ru-refcard.dvi %%Pages: 6 %%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%DocumentFonts: CMSY10 CMMI10 CMSY8 +%%BoundingBox: 0 0 595 842 +%%DocumentFonts: SFRM1000 SFBX1440 SFTT1000 SFBX1000 SFTI1000 CMSY10 +%%+ CMMI10 SFRM0800 CMSY8 +%%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips ru-refcard.dvi -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2004.05.16:0847 -%%BeginProcSet: texc.pro +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2006.07.17:1737 +%%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 @@ -29,22 +31,10 @@ df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 -1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx -0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx -sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A @@ -68,91 +58,300 @@ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet -%%BeginProcSet: bbad153f.enc -% Thomas Esser, Dec 2002. public domain +%%BeginProcSet: cm-super-t2a.enc 0 0 +% This file is generated from `T2Auni.map' and `glyphlist.txt', `gl-other.txt' % -% Encoding for: -% cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9 +% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ; +% LIGKERN quoteleft quoteleft =: quotedblleft ; +% LIGKERN quoteright quoteright =: quotedblright ; +% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ; +% LIGKERN greater greater =: guillemotright ; +% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ; % -/TeXbbad153fEncoding [ -/minus /periodcentered /multiply /asteriskmath /divide /diamondmath -/plusminus /minusplus /circleplus /circleminus /circlemultiply -/circledivide /circledot /circlecopyrt /openbullet /bullet -/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal -/greaterequal /precedesequal /followsequal /similar /approxequal -/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows -/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast -/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup -/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional -/prime /infinity /element /owner /triangle /triangleinv /negationslash -/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur -/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K -/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection -/unionmulti /logicaland /logicalor /turnstileleft /turnstileright -/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright -/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv -/backslash /wreathproduct /radical /coproduct /nabla /integral -/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section -/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/minus /periodcentered /multiply /asteriskmath /divide /diamondmath -/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef -/circlemultiply /circledivide /circledot /circlecopyrt /openbullet -/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset -/lessequal /greaterequal /precedesequal /followsequal /similar -/approxequal /propersubset /propersuperset /lessmuch /greatermuch -/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ; +% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ; +% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ; +% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ; +% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ; +% LIGKERN nine {} * ; * {} nine ; +% +/T2AEncoding [ +% 0x00 +/grave +/acute +/circumflex +/tilde +/dieresis +/hungarumlaut +/ring +/caron +/breve +/macron +/dotaccent +/cedilla +/ogonek +/uni04C0 +/angleleft +/angleright +% 0x10 +/quotedblleft +/quotedblright +/cyrflex +/dblgrave +/cyrbreve +/endash +/emdash.cyr % CYRILLIC EM DASH +/afii61664 +/perthousandzero % PERTHOUSAND ZERO +/dotlessi +/dotlessj +/ff +/fi +/fl +/ffi +/ffl +% 0x20 +/uni2423 +/exclam +/quotedbl +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +% 0x30 +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/less +/equal +/greater +/question +% 0x40 +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +% 0x50 +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/backslash +/bracketright +/asciicircum +/underscore +% 0x60 +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +% 0x70 +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/braceleft +/bar +/braceright +/asciitilde +/hyphen.alt % HANGING HYPHEN +% 0x80 +/afii10050 +/uni0492 +/afii10051 +/afii10060 +/uni04BA +/uni0496 +/uni0498 +/afii10058 +/afii10056 +/uni049A +/uni04A0 +/uni049C +/uni04D4 +/uni04A2 +/uni04A4 +/afii10054 +% 0x90 +/uni04E8 +/uni04AA +/afii10062 +/uni04AE +/uni04B0 +/uni04B2 +/afii10145 +/uni04B8 +/uni04B6 +/afii10053 +/uni04D8 +/afii10059 +/afii10023 +/afii61352 +/currency +/section +% 0xA0 +/afii10098 +/uni0493 +/afii10099 +/afii10108 +/uni04BB +/uni0497 +/uni0499 +/afii10106 +/afii10104 +/uni049B +/uni04A1 +/uni049D +/uni04D5 +/uni04A3 +/uni04A5 +/afii10102 +% 0xB0 +/uni04E9 +/uni04AB +/afii10110 +/uni04AF +/uni04B1 +/uni04B3 +/afii10193 +/uni04B9 +/uni04B7 +/afii10101 +/afii10846 +/afii10107 +/afii10071 +/quotedblbase +/guillemotleft.cyr +/guillemotright.cyr +% 0xC0 +/afii10017 +/afii10018 +/afii10019 +/afii10020 +/afii10021 +/afii10022 +/afii10024 +/afii10025 +/afii10026 +/afii10027 +/afii10028 +/afii10029 +/afii10030 +/afii10031 +/afii10032 +/afii10033 +% 0xD0 +/afii10034 +/afii10035 +/afii10036 +/afii10037 +/afii10038 +/afii10039 +/afii10040 +/afii10041 +/afii10042 +/afii10043 +/afii10044 +/afii10045 +/afii10046 +/afii10047 +/afii10048 +/afii10049 +% 0xE0 +/afii10065 +/afii10066 +/afii10067 +/afii10068 +/afii10069 +/afii10070 +/afii10072 +/afii10073 +/afii10074 +/afii10075 +/afii10076 +/afii10077 +/afii10078 +/afii10079 +/afii10080 +/afii10081 +% 0xF0 +/afii10082 +/afii10083 +/afii10084 +/afii10085 +/afii10086 +/afii10087 +/afii10088 +/afii10089 +/afii10090 +/afii10091 +/afii10092 +/afii10093 +/afii10094 +/afii10095 +/afii10096 +/afii10097 ] def %%EndProcSet -%%BeginProcSet: aae443f0.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10 -% -/TeXaae443f0Encoding [ -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega -/alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa -/lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi -/omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf -/arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft -/arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle -/twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle -/sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash -/greater /star /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N -/O /P /Q /R /S /T /U /V /W /X /Y /Z /flat /natural /sharp /slurbelow -/slurabove /lscript /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p -/q /r /s /t /u /v /w /x /y /z /dotlessi /dotlessj /weierstrass /vector -/tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi -/.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta -/theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon -/phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: texps.pro +%%BeginProcSet: texps.pro 0 0 %! TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll @@ -189,10 +388,9 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 13 /circlecopyrt put readonly def /FontBBox{-30 -955 1185 779}readonly def -/UniqueID 5000818 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 @@ -226,6 +424,1058 @@ BA9D46A1C3CBD3FEC92F0C2D2207B273DC24E300E83AB9EED3EBBA394BE52DBA 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont +%%BeginFont: SFRM0800 +%!FontType1-1.0: SFRM0800 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm0800, tcrm0800, larm0800, lbrm0800, lcrm0800, rxrm0800. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFRM0800 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-203 -320 1554 938}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747 +57609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9 +3894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4 +41C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E +ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F +BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0 +C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508 +2666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C +9A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215 +EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1CE1787EC5930A +CB162F5B9EAA313D307A0E184C13434C1BD022B99B5412C3C2CCB7E80D459D72 +6BD901DE4D3AB277B44856DA45D8E2155D76F424646B1BA2A4DD97877892544E +FDC803CBA09D705D43E883FDF9F79A6F8A3CEE49E2407F694112A0C8454F9289 +C328AFDD8890E2BB9C6AB0315D44440AA4F02E7DE2860008607D0237138D37F5 +E0A3F297B18B477AE21A280BFD3EB80E6AC595A0FFC1521A9A4A11FC2937DD74 +E0E81FFCF3EBC70EC3906FB4170A07926FECDEBC9BBCA5C4CA3CCFDDB392437E +B397A1B6F635A11085E9257B704C2493DCBB627AEB9DD147C72542E1B69F31E2 +A63866E965A1199F5BAD6C11DF3C2415B138E97EAE546C5FBD2819EF84822E71 +04E346196E4B796D7EBE41F2D952A20F347736433B140818D6124A14A8255758 +FF27AE2CE7928A38DCDA7488F5EFF44820F7BAFF46F01FB08E3BBFB5AC0E62AE +591050BF6E2E03F44DEDA8ADEBDE4C9DD2720E8BB2E7C89F80871A39CD4E9727 +784A87B911491BA13540746426543291BE73DA5FA01E47A5033DF15B5CFAEA9A +2FB4F86960E14829DCED39A2CDA20655EAE3D9A9FA3B75D97F81EBEBEC283DC8 +EFC417FDB1158C194B8C21EE962CAF2F3CEE9D5D3B7E0E068D8FB28434D54A22 +570A504018E35E5A5D1C6A8229A99A44D0C2556460DDC78775F03A6093BBFB42 +BCAA36262CCA0420EA3B963A5FD3753587DB2DF74C7E087631C219CD2FCECD1C +C91C552E195D2B9BF9896CC9853BE8714F7DB317EA3224199D021C57FB5F5020 +CDEDD97680DCC51FF73857F4DE131A37AF43FB1DF859AF41E9061111F3941D2B +D641B845836A57263ACB3A516326029734D7839347248D320852F5CCC677E953 +78A28E7EE1A472EB31BB93B946143A1ED8D930CF195D0445359AE31AE528FB13 +1D87EFEB0200CDBC35CAB95FEB55157A0115144EA5771B7639B4216AC1E9DE98 +AE6889CA0E236D265F815F8E6F6CFD416727119FDD7A16AD079A9D6269E3D47C +19623A9D31E27EB3689830029A77E8902838DC3B5C4F131C1D25A062672CD203 +4880F94B19FBAFCC9140BA35F54557DFBC3467DD4CE7F8000D71140AE1183D6E +D5C1D7BB98DB92519A8F57C668755A4A81F46A0C4A01F7BEC519652AFA5F3C85 +0C326082DA3A3003ACF66F2F79D42E2E0BA83FBE69DABD78E652C2F30BBE8FAC +323EF5A61C3C91A3A139F60B9020D1561D3EE22BBC33950B72719B354E67F57B +5F9EA0BBFADC0778035C26D33B1E958A5F53BBE99F6DCCF1D50321133EE1307F +8B58EE812475744CBD3C65762F194BAF8EF1405968330DBEFE8C3E172B5A8B48 +5A16A330F1A782BE7A11B64CA962A42E771F6773733744ABFED58E96F78C2E50 +23A96FA936D1071EBC6837AFBEEE6CCEFA7384F1616D325A4F1E267E79AD9FD6 +2A998F77DBA3A320DE1C232DE21D1C0B66CD9BFF71B8538459AC97D827C7F84B +66B6170F5272B7BA365964A12653F10A88E4A95E1716E3D1A202580A233574EB +2A2782F948787DC4FDE207F01D6D3B0C66F25E94F86F24A92A2602AFDB81E6D7 +CC034B232A0D74E8EFF35D7DB57AF27BA09A5F4C064B9BB83253A236A4D2864D +9B5B8FC933F97DADF735C6B7B778DC72CB1A1E42C71F16AAEA3274474B7B295C +1A0F09781A22DCC8B8EA7B18FD037257C110BDFD84304EEDA172A99BDDCDCBFC +3CFE4FB3E4D7D97069E9178CAD5205CF89589C565B8A2B647427475D16E6CD0F +CBA52E75B6516E19D7710CE3BCF2EE5A72718963EBE9CA74F3B0C9250C31EEDB +0736EFFA9A358EC45930779B7C9D69CF6BCB12D9C22F926E0F2D1C619E3BF64C +536F2D6E8E02476647E85C431CDD93F911D0A9AC867025B919C25AB8A2F999BF +8065FBEF2CAD38CE90C43D1908D5ED61CA4990F2B00074FD94A8B8862158C876 +6928604E5058FECC5E0F3040E33B3A028630AC0E2778C9F8B82591AA72971FF4 +C9F6D17EDD30DCA06F06577895783EA91A820A14D693E9391F6345EF715C5FAF +9982B447F2D5968DB14B3E8218F367505881414A43EBE15A0E494E11A2DF77B6 +00F65B9A7CBE85F9578FBA23B1A84BC329C53782F73CC58F848D679F04375B9C +FDC2C6A856666973F4594B6A9B2F03E11F3655959EEB4DDB3F7E7C0D6AACEF81 +F55C426E394175D4F7C895527B5C25240B5C3716E12A243C9BC54F4581C1D433 +65D2DC3E2476FF711265CAF4C37572FCB0D341ECCC7612DD60816E2359CE0FE3 +33FCA575AF040898840134B1E41216806B476A6F56A4614EDC35601E3AA6C0D7 +BAC635775A95703ECE3404FE13BB2DCF2B1E413DDEC853B3DC6D09D96C07FC93 +E96DBDED14F568946C078E41FF3A7C5A058192076D3D39705960D396E4C0A637 +397D08ABA6AECB50B75FE8B344D4237442FE1EE1671D327D3155C6C7E5D26CC5 +2AD6CF713CE61711E44C7592A4F88A8137188FFB9C981BA8C294958AC2048F22 +F444FB867F7FC0A39D60BE6CC01F861FE10D6693B1020F5B39E3958EFD88EC7C +9BF7316F3F299316809A62AE554D1874EA8F9CC95F26FFEB4EB4E5E0A922FF89 +60E5F9713407B087EAB33A3F768CD5A6F63A6239734C4B7E5AC5E9D63A3107AC +C1BA676430F0C5C492189D0393409CDCDA952861B3446D798258C632E7268213 +8EF5BCB006353594BBD7BE9385F5978CDA7A13B531AE44224664FAA4E23357B1 +0812E2B8DD05845147DF0967B287FBFE762B859879666549FC7650A0B973D413 +4D0136CA2DE0015CB0206A1CE8C80875B760A3F8FDEA267F6C015FC8EA05AB22 +6B2FDF7D9E62685CD4005000132921E636E9F3805372A2BE42F3D6F504A691CF +A9BC37EAEFBAA3F57514891FC67761C0F2A1DD706030BF20D49714B3BAC04612 +25359FAE96C1B4AC7858B02D0ADCABCECC56BE5767F216185055E36717092CA7 +8B984ADD891A991B2009B4DD384A4C293D71261F056DD1E351307D32EC613F3F +A299289B28EA48B83A1FD1E87AA060CEA042816BA7B43F3CC04D9613309C5A43 +E0A3FBA8A2871EC62679EDF0E9BAF8FC3B56C5E37E69EDFEBB6B24D65132203A +934884BAA87B0D5CCD3353432FAD28C3104E28F1B40621DC4981C49010267477 +63D2683A51D3AF2D6DA8D68E8C01DB68EFD8918344FE3D71BD64E59530B4C5C8 +5636E79B44E6346BE0AC571C31CA133567D66FE5A249CA1F398E66944DC2DF54 +5D0A6C526B1757B2A33BFE7C2212F1D8DB22470CC69C301094C3CC38998B6719 +E0EA158B8AA257AA5481C600B3B2B80B78914E1D232EC35DCC8588CDC4486639 +9877B3DDF7350A2D1E3D84C87C7BF119B71A4BA78303623728A8EDE4273BFF14 +BB7E08D5D985DDAE015BBCB27DC4189230B5771E456510B2AA4A5F5226E2AED0 +AC4101D0EF51C36B43FAFDB3135590951DAC29A65D9ECD9E12114C8E8AE1FF43 +37F8F8F140A361A9FD262DF82DD5E036FA36A2FCB2966E603304077B139B5F18 +1FF4FB2FAB3F70812510AC23802A8039FAAC38379F28EBA7D7C1162573F54297 +DEB65860CE160FC724A35D44D5C5419019CDED21DA0240C8E58FC086993242A8 +F3E97D7E71C8F6C3940B254C9585AFC8392A0F3AD37C946DE09D0FACFE96A27A +9F47B1BD06E56E03019A715C990C07D59B99FFC4C87D544B17E2A1673FD790F8 +C597FDDAAD58CF3E9F892D369B6F12BAD38D2BD275F52D2032CCA601F9616170 +C9F2F765BCD98F4483FE0BF0141BBD66BF824489624F7D704DC64C8FD286E358 +4BA8F9B3C73D34077A762913DD926E05A517978A13D9B3A0E8776D9D14B16CCC +772B792396A683BF9E6D882110D14D8CCA6B5D4ADC3474D0497793CD7A345633 +40F4C5D18E8E035185C3A6B25CBD51A7811E110C733FD4AC67CC6B4D451E2F8C +15F50D7E6BE0C38A556DA239A35712BE7FB03EC02F14F045C51AEDC2771321F8 +DC37266F6E98335E02FB736A5DEA95A929C10BA325299F3F8B3231A8FA2BB6F2 +648779D5FAB6F4C068C0F92E18ACECE3210433FD33A74B2AB42E0E55627C5ED7 +6A531AF2322A19A6C4BCE5D714E2ED794E4F789CFE3F18C589F8D5969A7E8A80 +10DE1F1D17CAFE9261EAB031DC3A6C7481AB5B7E8EDCB96BD0A129E45E3151C0 +68C4A3466D34DF751FDBEB2B123B0269F5D58746AD3511F899AD73546D90FF3C +889FA0C12535CF9BF81ED5D22C7D4488AB58231EDAD7FD489E95ED64025A6E56 +9079B19F4DAE58F4A81959C7F00B0C8DC36AAF162BA35CAD61832DB7FD0E3C47 +6FEF3616C3EDE4949F89257B8BC394FFB4123025C83DAAB2E41CA448F1A2A7AB +9F9C16115A546B05EF3E68182DCEA45E5BCA3828D480A07DFDF715B0AA065007 +7436CF8E9C7AD5CC2CB3A323908F04EF6C58A3EC9830DA6008CFCAECFCA51597 +9287566B045913228B9AF937E995DE25B164F92ECE2B20CA39C37DE8DFA27027 +48557459EB0ACDA237C2820AC7D469DFB04BE8629E396F7AA969DB6D8A7A8727 +A4ADF741F0A0CE065EA0CAA4C01A872FEA4D2366A41F749A4A0F3DBA016E91B0 +437AA1FFFB75C1502F623E4865D842640BBDA869DC79D81384246D8C9C333263 +ADAEADFBD4B2909199F3FDDF8A406D54E730263FBED4CF2B0DC261F7600746F7 +1F3104A0BF7795EE5AD69C09BB0E65DA90A6EAACC67DF5835A1564B7B8E7BE98 +428D5D83FFA1C9F60AD9B71E44E5D1F0F33BDAFB33725FFD2BFF11380DB62D8E +F40B50A4BC239A64B2BBA2850B923872199FA302572EECC7AD678C17BABBF100 +3A76077C2F2C646FEE56CA4C83717D5F912782D18DBB716F848DDA5CDE379CFA +A4246F698186DF6558A7D73A1A3115508AE417718F8E96EBE70EAFC48FFE9F6B +AD4E45069E37ABC2B016D44EB1D7C5E2B352E3D552B3DE731DCB114ECEB901FF +7212B8EF53ED117AC42C40E13EAD24FF248D6E1D4489388506EB42D43FFD22D0 +69C017D667BB9A7801E03AD41CD762C34A2D2D294D50C9511CE4AEAB1E4868B8 +F192141752BDD0DF44B76E01404DF023E59BB17F002EA5001C5F0026D1B964B9 +A39EBD2C0345683C7598991B7971AD959C8114374E49BF0E8147397C65FBEF84 +3969219FE11DC103C8A473FD7BCA303E026431BC89297BB7E463A1AC0DA1339B +26A213AD5635DC4274EC6E0EBF2F3DCE3172A31E9E8B0E8F028A09EF4454C3A8 +A2039CA50A868AE11D05F5D4C08C461346EFAA3A716151F6E7C12DBF7CE8DF3F +CC1E436036A002B9839348ECE1A1643925A919DDA56F30DCF88F5999DBB222FB +502BF42DEFE71EE90CF70EF4A2F176691D987177B4ACD7F70E20616F63B60836 +670B842013D42771E0482BEFB1750AF50DC5A509E50078B49AB90AF028658E67 +0A48BCDAE45C2EDF35C92C4A5E96679AB95ABF8B013698ACE11CABC3E81563C7 +BD442DBA7B5AE87EEC9585C1DD2DF76F3ECD59C0E937396599CCEC208E1D791F +330A89AEA2888BC36C94595CA615CB84755194506AC7A83AD19F7F19B58FBC36 +DA6EF5A42E268B80F6B6425373644C10714EEFDD6ABE83B981B1A28CD4CBF1BB +3D95A7B4F265303970278496B58FB9D855EC18AE2A2783A9B6A04D651FAD2DBC +264C5528CAAC1CC02764D6C138FAD877C8819C937980087C603273FD3BA5E383 +0CF794C8A21BD43EC2C275EEA8847678BF001B4794A52F7867C683D88F1E0541 +6088FE17CE3764D4B737D0DB9A5DCB66DF0F65EF55030C2CDFCB9D1D32F10757 +E7D4C6BF4B370BEC69C7EB84E9764345E0AC515004CF15320E474D48E58E0D11 +05BECDAF170FC211987093310CB0E76F4BC6D524397F787290D7FF8C6777057D +96CFB3D350CEBEC3F5C9C4AEE1C987556F5DAFB74B28726C5F214187552576BF +80A50BB8D3E118A48D07852E2B94339C5E0220FB8FDE941E8D74793648762A85 +120D97E46E70E403CA4324D3B14BEF58BB62086217DC4B458BD70438009C4FFF +4F67D4B68E9063DE5A12CBA6053E07838BA7E80EBD64092A555214F34411F968 +716E4F331166795ACC5DCB27EC72DE470B6199C520CD0A5FE74E649567B4255E +E18A915ABD4070E7C2A9F04C4DD5A9ED0D90124905E2515A3A522C2B09385BB1 +2AA42E87FD05BF715F47EBE8CD44F1FB810CE30F5A9149A77CF01347412F127C +C4E8432018559C0757C1ED0C5A1B5B3D53FBA5F534BB79BE22811CD7BAFF119E +F9DA7A6099E851E6312F5475669445A71FC40FC02BA0C651AF60E24140F72BE6 +15EEEF43E52454E7251BE2E0950E313AFF4BF6EE7EE405A09CF4893F756A35D6 +E9E687F69754A4FF7D6CFD5DA7A975FE3D85D758C54FD237547FF5816D46A9E4 +6BE339A32316087C7A7248392C8F8EC2D6F3E65C9F6BC48A4A4FA660526A6060 +944E43538A977C94968E61B67735D6B9D9782950B53AA7285727B0FCAFDF971C +4858BB002CDC644D4CCB2DC159EBDB6463B89101CDAD53E859EBDFE766B69B44 +8D51EBFAAFF141EE43367B2619CEABE1E9DF4262D5A5B92337009C13E8ABAAC1 +9350DE4CD0EF6309A8BB7F6E7846D73CFB02F1EB12E99D79F03FFA5B36CEF1F2 +3E2B38306DB5A76F1751EB37415182F40F523BC8373E9632DDC33A3845B6086C +41EBDADCCF9470B9A1A88679B764D82076C95BF61AA5E528F1FEB2954197D787 +E04A8BD482BEED92658B5C3580A6C8CF71B595868C28507F74C4AB27AA73050F +486B1F993002C707022951A73024B35D3C26129CB619B507577B90DF7A5E7B75 +AFE0E6F6982403D933863C32A326191A8CEDCFB195416FBEEA99D3773D2B6C47 +B1E99BB1A14514BD26F041E5D568AE5844558FC1C5B080C962D5D7BE9C836415 +B17059290C2404C78744582EEF247AD08B9EA98BAE5792511B0B0B2D33F0D37A +F96633EB1DE8AC98F91DF932DDED7A2F0320E1B6435230C8D6541D1D3A02FFCD +0916EA409A82FF79821365C7DBD28DDB39110C818F911E727EEE7B9EAC17AB85 +B1CF1EEC87BCB1F24646286CB6EF9356949ED5DA9C739D62C204556EA7B188AB +E3C8FF2810F37F0650F94223C4C5B485E3E420F0F6D841F7B6421C735A676809 +003E6D283D46B9487E82B2809B3DFD7CD9936C49BFBB74AF4DFBC37DE98AFFDD +E3815F5E4EEA8D2295EB84AB91522AD18FE2678DD9CE727EBA8B1474730FD83A +6927E9C86737AB82D182E9F0D61467DFC393BD3E7D1B6A9D5A0C7E7D959D3AA6 +1032D599D0582A2C89212832C6F0BA4D2F9316E80D3A72025A19848C2EE2DDF6 +A46CB96754DD6278AE4F45B40608B5B10AE8CF0E540B39DFFBBC8A0BF42461DD +5124AFB033C28C50E44029DC4365DC1D1509734C53F08258868624137187C94E +4665973A0B63A3E9A84C6DE68BB93B63EEB14E67D089193205D01792BCE5BDF0 +FBE0A0B014B4803B9F40377004955165076E6C293968556CC64556EC5DFA5DE3 +268925E472C1970DBAC2932B59607780612E3E67F979E9E43E8205E94B130DBB +2878D14C301A3CB6358559FE1ACBAD8DCC77C25BBBB53FF4363FC14A52EEC779 +4366F6F4FA2F411720469953DE4AEBAB2412EE03ADDFD883DC48B8A2E605AB55 +D9802B609A3F376AD9409DE3DA98910E662EB9EC3503C9F4D36F5639AADD67B3 +D33126389786CF1ABFB5DDD867C907DFB9EB86E852C109F5D74891C295A21DB1 +F239FA7504658B3960F98A4F749DB082D8640412C65E7F51C2D2114747EB3CF1 +87BD9B12730BB9EFDD4846E7627C4E51D9D95D8330F083721AF585C51796B885 +176476E3C46F4B4C4022093CE906E54F467864690F9FF4633E307B0AE4B4D3BA +AA326A787AE941EA13F26AFBDB79DC3DE6C212FBDA727DDC0F67D72C6D9F03AA +07329268F441F7B61230735CA8CDE44B9E0B0C4EDE1E7B3A8F24532F9B5B95B4 +FF6AD19614EB0F5846C3F39584F07395BDF0E94BDBA3E596943D4601767AC5FF +37E8A17D3B8FBC8E3A528977340401CCCFA08C2E7C903AE04590716B2B87C777 +AC73621B0CEE8D52BAE71F9B21E8B6FF7D706B3F8611EE3DBCA777AC4DD1A732 +29492316AF4A6179CA9B40078FA6D29085C9FD62AF625845BE576A8AE7707CC0 +109E907CCC13C08A5818D5A1793EB14070D0F21DACCBFEDD1373B405CEB46BE1 +1D5F9650C0F66BB492F0B4303966A802421547922E347AE7B86078D700614732 +F3FBAFE78126A83AA0054F2FCBFD9BA0526D38D2B62A63183AEFBB12601CDB62 +7AEFC03821B866DE2EEF671E9BB731D34333CA08BD3B59ABD343F57D447FBA3E +2E33939F289D74ACC66238E1670A9AFF90F36EA52B43BF83F3887DF04892347A +A30E30E0439AD51CA05FE182548BAC9A4E4779842E107AF605DA87B9B8EC5D78 +80A8BBC24B7A3CB1A0FF6AC6CF91D1438FCFF493D16C767057A1527179E6516F +2DA2F6F1EF7034B0B105989D2306690E731005702E16C267BAA850D9D9F47299 +71049E0713C1259E4452C67F4597929BD1F886EE2C401CAE4797DBBA90C6EE57 +61B51B33E1D3575B231CE23085742109B87E6267D6C72AE747100DEDE157E1E7 +6E88462A7B6EF995DC233FBDBC1AECD25C8320E8D6C7D9F0D92F0CC81BEBB8EC +36E7D75DD3D914D8665C70AE06F959153B40F83362570423EED2346532C37EE4 +D84080D073BC484C694C9E6AF299409D5DA769D152ED7195DEE9EA5858F641B9 +B205E9C04B52183462F00ABF0860E598A169B0DBF10EC37AE2049EA3D7D646DB +B6357102E2678F49A9828EEDB4E916F2E43A1420D8487C36611A9C173F501978 +063D5CB2BF0F32BA27284A5C2AAA6CCD4045199E1E658B3F8256A73D24FBFD85 +DCA2D990480AF3E10E463F32FAFD38D3EDDA08253115EF6AE4BB32AF9FDA5D89 +D8FDB4F30174DB0BE99A9EEDDC6102FECAE58D200A1F6839758EAB6FAB286A35 +24FCFB9E4119A186341CFB1AA8E3E68BF3AA81126A7DF90D0FA6D94A42165F8C +F0EBE41A6528A38D30855606E5038BD8E414F8FADACFD56F1858BD6A32858601 +7AD53A43E30046E876CF2AE38B7D280A9CE82E0F36283EB997E12511E74E53F6 +46497DB76ACB11DCFF1014DE5BEABB6133D42B6866ED2CAB51089E2AF32BFA54 +8FAA2DCD12570443FCD3BDC6D53520404E753034519C81A3E84C3E122D4CC1A9 +0AA2AE164475BE0E2AD6661334764F71C20FEC887BD8EF2B7271A67FA2F7EB9F +39255EEB4D22E5D7256DED2876CA7F7DF9CA683D412185E385437EDFDF32AE56 +3386A8DA8DB8A4CD28FB8076EA389AE2391E44BF680FAE50DF5E2EEAAAEAFE0A +2813A3537D1AD9DDCF50F0EF1CC8F8CABD064949F7DE5218BD668A0B46999BB1 +9AA4AAFB14003647CDFD6EF5ADB142F14D1A604F7E99414FCE97D03C016DAF74 +2B7C96ABE807EC5FDC5BC5C6B0CDCE45381BB160ABF82633F4C4B1E7C0B95AC1 +2570EA999477C368E35BB4BA0AD6FA78D3942107095FD062D11B7F47E7A4CB7E +F71F78BC09019DAAF0AFF6D80777EC6E0EBF2F3DCE3172A31E9E8B0E8DACA7BB +04D5A74A7A854E6F38BE2FD18650F9E4E501F0ECD4C674EF110B5E03A723CD62 +BD6A5358809C15CDC64BE255F808AD2A9BFEC49CD4CA623943F9D50078D11D6C +02F53F06905AB2BE3AFB8573FC804919E0EE4DCB39A498F35C5E3E94310F96B1 +8F190A1945C40D9AC30E4989EAEF8B4BB1CBB268FF2B28C1A77C92F2D29C78C5 +011191AAA5654639F0697807C78317A9408FA4D85B5B5386FF5D783A91D9202F +D513BF1821A66A17A74FB8E90B43C59F73DF237F7522F402A1318C4451865DAA +080162D25EB096A304B09FF6EB0F09A6759AB4016F34A84B9DBC034DD02A4AF6 +F20A3E1C9B59168843DCD4EA64FA10F2C451F1208BBC4B45150CC89090410289 +B7ACB44FE75ACBFDEE0097F82D37ABD2372CDC3559CAE8B6CB3A8CAF71B74574 +3AFAD713AD907BD89BE20D3890376550DABF8BD6E51017DB5FAA8A1AA52DAC77 +F76702320FA5C140B10E79BF83046010334476F8DE1DB73C290536312DAA72F7 +FDE1FFC42A8E20781E3A8A16C208878786250A2A5B0954E529BBBE321F440F8C +BDF2B8EFA26F820DBC1D7C6F0844A379C61C3A67973E2F4253A1F1A0DFCFAD4D +ACEDE777F2D2F7A733B3C4BBFE15A96C8D5ADCE25EF35156AB35544DB9AD54B6 +56E0FFE2322734D19C6ED66639946A5655D4AD9DF6BCF9D32438D63CEEF3B544 +E7D1FC006E8C4C3F2D155B13792823471BF6CB9B9C9B512A591D6BBD2DBA76A5 +BDA3A7FC8A9EB136AD0292B7A2D04B027F9895AF10705A7057302A95FD4FDC69 +5BD0ED514DDEE8A97443E951A14349B9684AB09A0216CA7EB282702007937C5F +C3B4915B96C0735F911FFFA39DB14BFCE5A17B2D1F1F6FE2968EA102843A33C4 +1A7ED4ACFCD87501895B4C12F6FF094944ACDA44DC93F0101BE268FFDFA70393 +8403CAEB1B1B2F9F239D53F6C5A70960A982D2FFD0E9015BAC8C6E053E1FFB29 +AB077D7C9C30DDC155FF78D7983E522685DFD13A9798F89A254547D0EA504FE8 +DD1550B21E3C8334DDB53A02CA4D48A609AD53CA578EAF162A453176DFBF3D57 +D7A6A1AE1DA613DD527C875A9B507D65A69195472A36DE2F8BFC733C09C2D2E6 +0E95DC0DDE5183DAA9D884A8798CEF1B25F77F2142710DE7B71FA982355B9673 +70A7D562FB29845025DE74A799168EDC8C3FE6A833E4F1138F534C15749E6448 +A0F7AE66099CEF20748BCE485A83A4EEC159C8DADC40A4C224C18346967ED516 +DDA389645D0597B03E2E467338DD786580B7F92E5D4AC255A4B6F12369BE1FB2 +7F0334405838C68FF0150A4059B0C6F18FECC7E5739AAC9EE1D540A4599C2C81 +1F1ED8DCDC2085F52A2D9587EDD34089D289A05C01E31D77A04A784DC764FF7D +5C7E8DD9DB7134F8CB8CE47391413F5D0E95D7FDF91A1C3D6D6A6377D9579857 +34A354911091A94ED990FB35ECDD21C3CCBE906FABAB6A8B86A55F2C22D9BCF0 +FA25B4200DFDD137447D344418740C7ECEC15E46A1E4117F05362A63C5894A93 +6090BE946598A7B75209AA4DB14E2B31021616D0CBE2AB0CC375A64D25DD775F +3281803F22BB0E250316916B563A6255648CA76FCB18087B9B5D4A33135AD0A7 +55FF956E5992A758A1FCAC3511A660F947EAE0662B629AB08E4B6E6F50966B57 +1D008A6354ED03FCC0229B82C90E71132EAEDA24FFEA7A4A1C1C422D565231E3 +FE9BE4A9B67E3D3B0831F0CE66CE8EE2BFE7B05B16CE039B8D3289187A6C9C19 +310EFC5E36BC61F687DAAA15BFEFDBC9937241C42219CD3616A5D11228208CC8 +7D5A04AD6C137F45365AF1CDBAD223910BD35BD2EB58AE599692D289182E8366 +7B0969D391FA8209D950AE914E3C26F50676D14A201A7943854EDD7F52833E7F +F56008284B979CEC35A117AFCF73F21E8C3591B38A540A0C4E8BD600D387A958 +8432E92AAA4B658651C5705B18F3F9E8FB440DDC598FB62B1FEA0094A55B4E45 +C53253484E7E91716700FD203DAF0FA1FC7A8F697A832BD25B063B730B9880BF +55333A6CE01F971CC5F7868A56ADCC26A319C9BB6A34CDF5E3387FC96653449E +E9722363DF0EE41B4D100FBF6D005EA0771D97F082C6EDE2BD31BFD64849832A +EC79257182DABEAC97904055A36CDCD11C026236C919FB9BBBC657E12E012A16 +98F904876922AF7804B9129CF2E8B1DE8F7AF1318DFBFCC20D8DC0B1604ACBD1 +63617B77D65D423ECCE8F6BEFACDB7133CC76213C0CCB254551EC5656ABD621A +93FEE100A012CE9760134D9D871BD38ACC4F3B3E50CE7B5DCCEE39982DCD39C2 +CAB8666DD40307F715DB7141EBEF90FF45C1568270892DA8E03F79D065067089 +A0100AF38CF7F85524EB9327D1B78219BA61C70B8A6E3055D5E09CDA43120DDD +426201D85654CEDB93BF85EED01AD9608AA5FD4F91EB43E2BA60664D2B3CFF2D +A641C65D559F045FC941E58159AD71A3EA6E5483E906ACBC70DD95CAF3E5AC0E +7921BE5815AFE6F78B047B69B01EDD51BDE9E852337EEB911B60BDCB54CDBEE9 +EFF00404DAFBAB588BB2761DDAC94C969BF0ABDA7CB9384161F986EA6F86EB1A +9796A0A60B69D92DDBAC1814E86EACD5FB6D70BFFA48734A112325C1A897E66E +70C4948FCBEB0923B97E2BB3D7FDDB44CBD2E46A288D9C33E400B1AF6CA3E3CD +BD4B895C63BEB7A0984388833E625269C99CD4FC0A790ED8BD50E7E64FE8209F +213BD7DE9CF746B2CB1440EAF9CD52B42F144B0017205DB99874CD62A1201224 +A6D8A3CADDF6758764EA8D08BF2738665ED1EA4736EDE4F70D29CB5478EB9745 +5F72F059602D8B973915A7C1F786DCCB6057256197D5794AB9EA2FEC41F92373 +7AF822EC3FE0391CD4458C278E08C1B92F418619E7390034503C71ACAD5790A4 +F95E540442693624FC17FEE33307AEC932F59D55EBEA90EA77370AA8F4036F1F +DEAA348233939F5607EF930D1492D31A8CD0151DCB3F2E5E9F3E62E1C35CF9F3 +5CE5CE88D17D4C36039AA6FCDC3889AB0112AABDB6CD26559BB8ADE544590F53 +347543911BD163518B55DD16A675565CF5D7D8FCFD3FE4F4BD5FE326BD8D582B +84B706E20415743D0DF6AD4178462197A88C1E113B90E82875230FFC3D39815E +541D394C7F082C8EF4D86D0A690F1E74C8D54A376C3995D0B3DCFDE691BC8842 +17598B64FDE8F8532F766B7C6A9B3D936216D3956B620507F47C18A5FE2A0A25 +D3BC9B76D241C6709E4877F9DDEA53717146AFE90ECACEC165897D8B62368913 +5A5537A585EF6A8A8FE7596CF2FC56D4FCE859643E2812ED117912BAF8525989 +CCFDBC9C202D88F6BA2845DFF2C1C1C9D9828F903A1E8CE2D951739BB8D026A5 +936720B633FAB3ED412C719A499C1047C6744CB0892425DD60AFD01BDADD8C7D +A24C22FC651EF3BAF2B8F2B508D1F2766519D340C1D0355E7F1B35DBBA430894 +6CAF8A0C46F2FA9C717122B0337EC089B991F4C6A8A57CAB93CE582C78D45CE0 +4A2141D8F088B8FAE6346EA8ADB8E2490CB460292AE0EBE73447B9970705FF8A +83B18986FF5B00FE98C28A090CA9326D2B50BC8CAC89359C4B7F903874E1565B +380CFC3F7C0B54BADC8412987114A59F9150D97CBA104445F674E322693F54A2 +B9A0A8C6E372580349F62493707EEC78F2599944404B7B0B79A979C28CAA156C +45671FB5B4F0460B13971D1CFA93D523E09977B2F9A3E312687B3BFA6DA70D7B +AF2BC5ECE2C1B198297E770D56F2D294CCE9815E786B7812BA06DC7D6D23E570 +9062979D1E3CEE6C21EA9663977FAD359575B9FFCE754572251698C73D2F79DB +E5829B25FD7977D644213D14B429F3794F213661F2D540CFDD8E485757694026 +0D69B3D22D9CDB0E7D6172EC63B0420817803DD790567258E34B481428336BB8 +8BFA0047BFFC49FE05B87FF208E0CE33921093F6584A826FC240B1C09BD5F86A +B267E5081D8792F7B595A923E703F053C1379F4479EAFE8298CE6525E588CD80 +C2CE885D80A5FA021D82019BD818FD2B3A23BD832382909C04C816C7281A6C34 +F6E4CB1B8533911531E5A78BA298E6F2CFA64D8635BC8BA99BE306A2FE66F68D +BE8367DA9CDD98220835DBC6AABB15EEC62319968B96989AD1803EA201601BA9 +63414EBE683208E5BAA9164DD4A185DF4DDD6F99441DADD217940B20CBD8405E +14009AFBB533EBEE1A84A1CC16ACB7092B8A67802E7057E6E943CE6E928BE352 +1024C4E4EE397DEF71DE6E44FDA017315077ACBD4059377935789BFFDB8444B6 +560E8F1540F4D60638A1B6AC0E3EBD9F7300F14D37179C411309FFFD39A68730 +3EE12F67EAB031DC3A6C7481AB5B7E8EDCB96F2F1C815196CB981CD9E774C89E +A5F5C6FE10406CEC405D7C9C636559B949E8EC26D42DCC883F4C98E8F1421D27 +E364F998698F5EF8153E9BDBFE859BFD0309F63FC38328AC14A974D380750414 +1E681F461DD52B50B47843EECE9B0D611D1417541EA6139091305BA7FBD8764F +3B8165F1D5BEE6EA025C8CE694EC1013EC7DA9906D6FE6BF97BC5E5DF7BA4E33 +07DD612C811D1F5EF4154E8517C9A6D1ADC46D04C670733B2C23FCEA7522156E +606E82C845394F756338384568830D74860E6F5DD9D2BFAE8C95BEACB5EB2C35 +151CBF5B4CEB8CFC307FE6B9688648C5D0FAC55A6E44BB517A2A46C308B15A58 +DB52D07D265C7C3E543008979A1C2B658D0FC9A088BC621561E6B322A2E3B359 +ED857F6E0865F7F174EBDE802A3E06D80034921111DDA60783D93F3D614565D4 +27CCD0DA4972CAA82B3BAF2492765568DF45E747C960CA867B2E61628FA5C021 +6748129E8EA2E2C0E9C5178533B46ED0C393645BD2A7E6A8D60F51DFCDDA6EBC +C6E808C26B9F11A2703F22C147175154CDBE30E4846980EC5C122E5C62E41C5A +37A6A184F781387785659D5749B03DFEE967A577C3029DA91CDD158284395277 +753F54F06B9F0575B401A1E45CAE9D7CBDD92563CBDA134FBD216D3ECEB60359 +676B3D5E37F6B17ACE851965E554349F4D724F0D03DFE331519283579B2C564F +6AD4B474718963EB8518DC88DF321590964525BDDB65D09D387A6859BB4B5754 +D6AD19A3D5CBFB3ABF8FA0A6B188786814127E692F78AEF3018B399D402AE7DB +2B5F5DF76EC7B0BFD28142BFC5658A0F18579FA9E2976F685A4FEA2FFED40032 +E5385748A6AB1B4B78F117B96D7FF4F776A87F5EB2D258C0C5C8FF044C5D51EE +944BD226D4263EEA7DFAF3BE09E104E15E8F50FD61EFD84E2F7BE36AFC600D90 +AA4AB24C8D70D7DD605CF2D6CAC857EF9039E0E40D94FC1EA50094338BB87DDA +95EE2C2CB3EE5241C75A3E484F89E43ED060DBE2C40BC1316BC6EEB5C03D87CD +0D47132C98C92112710CC7E4C777AD410D4FE76E8C19205BF20DCDDF2638DE42 +7873EFE74BD32E6F175E2041EA03E2F4883F2FC1150C71BBBE6ABA94387BC6A7 +A1493EA767EEC302D5FA50C4F9AA8DE190836B04F5A5A1C15373DA2417F560AA +D8F7A0F321E2AF047D326D9E8235BA1EEC1B49E10222B18281C85D674A07B0FC +1EC0418A953C5ECD1140F15A6CC35994BD493853D06D6B24303BEEFB9B13358C +49F992C7BAD1CA1B67D1E455A4D8FEF844FF846625D4B998C7A49EFC9BA7B9CF +C0F091D72980787CCACC9A300CC8C57A473B513D0547FD7753572D062A4F3306 +5C6855B4119BDD6B39E62FFA97EDD64670B853F37DBC2067EC814CC8EAF00E82 +A18E979900E45B554F6167ECC9FB3ABAD8AED202BDBC66750C0E1A7B078B3884 +F6EBC2F9C6B78BB2E238C84CE373C46F6B8D65DCB198028942FE2DEA69DF8236 +B7A0D87D4A147C8F6CAF3FF7C69B5883AD5ED8C90B5F8881BDD5C8B919F85B14 +ACC7F679B5E0663DE8B2FDAADC9C7C58A544F9B7B02C4AF59DE093BE7325B646 +D3235BC74A261844D5693B5B4D51E4F77D6F54DCBE33B54E85858C66967652BD +943BDBF66C0D6F1E120F630EC8D94DB19D986464CF1216850D9A2805A7B0A3BD +AD4296CEC91CE68FA4C154F2787DF155909FD15CD543C9E77FECB880DC544F69 +02887B4732C0DFF4F888CA1841FA3BE110DF05375A73B359AA659C0A03155636 +10FE6C3304E8FA02762E70BDD5A0248929CD231FA6F6DBF66EED768D77B63FA5 +EBCBC8635DCF6B1D57E13FFE99DEBD32B4F79A0245F7CFFE269A9019005B3147 +95B74CF2961F9A3134794C9DA6D1038DE6B43480FB5EE2544529C26ED6D62B24 +4FAF3CB42599EEDBC5B3019F45B91AEF08090DC5F5C74C085E02E341AD46C463 +BEF42E1508FD510807529017A115D3F7DFF7BDA21C9212688E3157241E5675EA +37BA5FECC46CC6CAE184B57FF286283A4A8816304D4D372D68B5C88A1927266A +C2D70049EA6B3ECFF6A9570EE528D5DAD8DE7FAE0570A198165D6103ABD39931 +4AE1462B55AE6781011A7F8DD8C009350DF5A0B1F1F8416FDD6FBE4C4CCC091A +D43E75946819F8F8F6979CEB210E41CD54E49CC3D05EEAD310D5497F6B79F694 +C12E2294B0FC893AC816C50817B81EEDEF8A16CC709242C8DB9FCEBFB0092E7C +C538FD53EEADFA0A7599C2FD99C7ED08E6DC49562502D9F906C7334F8CDD2106 +0D35F24B66D6EA6E9A9448041CA120B5BBD8541D72B9E4FB6B098A6974BF3AFB +78928BC794C012540C98EAC425179A193AFD7293BC86B961BD9462105BC864CE +15BF8CD37D9B695DAE2AD24C779823B3B68CB259F0DBBA44091627F82A2107ED +318919D17A6691E51A64CD6A4724202B676BEF8AC977C3D98F22E80F8F2A44AD +2A69E71605A02036FA8CC986D7978D5385EB3E98013BFAF63A4FD761EE98BDE0 +07F27329ED943F2612F7CB94A0D0218F3735DAAE8FDAD87E1DCC3CDA3AD6350E +BC037FFE4E5C435BBBB77BB00E9A42DF896943603FCB1F5029F7896994AF242E +4F815C06D0429017BDB5C63EF2880E068D61F2B88A0B988C95C23E250FAB1A65 +B10806DB00191FA15D133E43AC34CCDF00093EBC7666B6C313D91E792C2F57F8 +E5E3DF6D0AB7F073F2125CCA53E95B0432ED1D2D1E7D8E9E31A9F31E61867385 +CCC3EABC2E11AA696B307C0F917BEB0792EF74A8EDC509992BB43647973FE7E8 +EC1149BD86C9DE3F669EC1E43EE7F6550079955C6F050BFCF9BAAB9E7E886635 +BB25D2A1F860F99494554390A481B2FAB03F71564EF9483CF38C1F6ECCDB714B +8C7203ECC022D039ECA0E56DCC537CEDF368A8A589519566F2CF2EE2D2813671 +92AC38361E21F854ADE2B3C9339C7F2D5D5F1D4EC0051F70FA03DD920776126E +CE12840EE7E96F7C530602B5B8758C87D68C6556A313F6633C69F00DE7B605CD +2D29851B1DFF7B1977BFCAC4AF623DA5F51C801F28FF85B65AA64D0A0F0FCD32 +2693F94BD5B0C148358155098914090C94E75BF46534F22A0A879A6E0FB14291 +6EB455639AB72C00B2748BF2934AA97CFBE378C0EA28694A1F17110415FB578D +42458CA22E8CB9BAD86DC43503650971AA39EB97A6DF077449CCC2E54301ACB0 +3240C471B5F320965C5833822130BB667821A43528A4722E9ED04606324C1A57 +E233C21AB0545A4870EB8BD3975ABDE7082BD80EF4E68C091050DAB6DB518E52 +7024D7882EB6EB1D995CC1D43CC2A8C9BBB207D833D4AA8A26978E30D10F40F2 +7217A3DC389C4E4502F242872B2A0EAE2EF5B837AB2374CAF3D149C28E917935 +F900BCB267F265A4E0DDCFFC231A5483AB4716AF2F161714DFB69589777AAD8A +E5FFD07CDB692AB573379B1C2BDFB23580C36AE9665A682B3E70A0BD79B271CE +5EF9EC4396FB40835264156CBE6E45181D681F68882673E4226C6B8071F790AA +B877DDBCD883B765526C0DB03090391D0541318D849C05B43B0024BF4E4D11A3 +B4EF5BB7493CAA62376514740EA9B262DF772D45540E911E023E9DE938422898 +0FE79303FA08B26C706B7182E0ECECA6F1A5F28A3BDCC009AA087430E1CAD0C5 +CCA7AA0C8C69E446C5E9E947547AF94E4E92CC4FD0B8BDB826155ABFD0D6524C +5DEE8878906BE4B099EB919A1D92B1C28891E7E087164FC30DEFA88A0633B814 +D930BB66850360DE1EDD37514032F3FBAB92F4A9451EA11D2BF0761E13A5BA19 +D270E129C114CF11E3F7ECF0DA3B4FC19AC48283426DCDEF6C2D28B23B18083C +0AB82A8E1C8999F6509CB4B5D5D35511A5C1709C10AC3342C409728BEEBBC460 +F15933CEF659613B4FF9F233E0DA75BE2AB01B3054F3C9BFCEDF6D41356C45EC +5B4066A584FF5B17E2949D527990C138C1F04497C2BF64BA6446D5BF743DE7F6 +4CCB65987E1C20EF9F5BC4A756A5FB016AC1C16EA8067A159FF477531712CA53 +7EF27C0F787BA056116AF83D4A814C15985CA25AA8953D7C789983AEB0B8D1C2 +699A1C86D56C35889B7448D5E375AFA2D63A122AB374EC2F09C547E2499F82CB +0863CA1DEEE53FEA5A7EC6709615C2108B3D054CE68034C2A6D708A293DE05F3 +5F21D5ADFC6174D10CD5F096CFEA22775D900069B5DBF57DD6C9020D2B2F4717 +A30A1A61329DDF2702FDFE076E8A829F3AC56AA8919110929BA9D7AA624B0F38 +DA38F9D60A06AE7022A3333F152B0F95536F23C110900CF816B1D50F4DEA8081 +7F0584BA7971FC760DFF6B0C53A633B5548AAB20EF4FB76F9F28748902E0150B +15977EAEC2C3F420D0FB6099FA9323331CFB1AA87717F1937E11F51844C7CFF9 +CEAC489ABA9675F5F3B9C1493AD1584318B525F8729BF5A75CC740BCC8AFE654 +8467F1215E49EAA00EC86276E5EE27F1A31F0164FD638129B7AD090D5F1B4AF7 +9CED5A9E01AF160394A46573B762BC519E0381DCF47B7DA629D93C16425463AF +DDFC846DDA7598B052AB49A5028CB45B53A97E58D41FF2432A2B90961AAC898E +1EC35E0FA39B9C9A1D143BA01D7D0DDC12486083D63DB4BEBB436ADA07160EB8 +159DE52CACA71A5038C75C21261D2C8114A2D7D0DAA90A78BEA38FD84EDFF90F +BCADD4E255B966DB2921A91DAC9FF182D68984C3CB2D6E6D8EA17C952E76689E +15BA0AC4784C1265F2D5E1C853972821354ED4AF87297541C8D173328A525BDD +021509A8EEF039147DFE3DC0A791E0D3455CBDD171190EF2B0E7DEC2F27D8338 +894B268A8C63765C595EB4F94B50CAACB363C9B90560D4FC58B6755640D56BB0 +DA9A012FAA533533A8B61FA50AD2F0DBA6620A2A134EC9DBEC4065CD137700EF +893AA235E1EA0B2B5B3D0AFEC15249E9FE986CD9D4072082F3A7EBD9537B34B5 +261BEA38922F75D6450580110EA6EDAED269F4CD60146C464AF992111236F25A +7D6DA6DE13FC1CB9C9B08D902ACD8AEF10BF9D973E8BE85632FCDC5659BCB61E +A8737E15D4202AF42CC32C491CDE2B427018A2BBA26A2C45A0F04352CF0B3155 +23867AB76CAD6E53F54BAB7DDEAAAD55546EA51A95577ADCFDDC4A58479952D1 +9F81B21259FD46E4C6BBF7A072A4069B75E13F0102CC6B4B8646BF9D7732C91B +233C05C4EE16860D79BB42219DDBD23908972312AB03D983571659B463CB46D7 +27A6621D519E3F40873073022681554FF98A94D4DEA5549706E7B600E2FE7DD3 +4459EDA02F49FACB9646930CCAA606F4FF8D3B5789972B002720C95A2D5CEE2F +45485846D5A67E9187C31473E23A91DE40428A105067129E6446B95CAE1FB11F +0A54A9CEA0561550EBA70D9A44A04E343F00CF94FE622C081287AD00D2E8241A +799ADAFCBA0293A7E3AEA2007E8B62BB2B827B62CAB8CB0EC5569B2DB12CD196 +95D7A7FEB41FBFAA27D7B8976B201319A4CAA8F84A4D929A12C1C5D7D0C18917 +D607E588656BB3AD6D26D2BA11DCC78243F0216B2D085F23A3599B2D53386700 +11A7DAF4905EA41B92D984A86D4CB723B3506FE1734E7899FAC520ED33A28158 +AF7A3B99CF8192BD991F8911FC331C81B939FE798C7F002A6E40AE7078A95BDB +FACC554CEB9A3EAB48D2982AC6D77EDF092FEF3BB8A345D4C31821E9F1256189 +BF1382EF65A786679CFB5ABBB5DBA25B73A8B3C76F8827FBFCDF4F069C9E473D +E8CF8AB7FBA03FA8BEA26BEBE95BBFF7EE492FED29DE87F14739C514452AFEF9 +5753F94E4381611CD41A199C054097A39069AE5760000FB82BBDC79835F6A043 +C7526B5BCF7AF7545F473ACC165EF655F727051CD6C6C0B29CAE7D8530D4601B +C0E60666979449BF6C6569A6CF07310AA50B8EAAAA737EB43FE9405D7A38EF46 +7C870B1642FB03A5B8C4C1A2602430B8121C9AED3237FB2974ED556CABC84C95 +7FA4ACCE1DBEBC4BE3ED2D84B5CEA691A4A86F49BE122DC7D5ECD64755438C3F +B63E9A5F665DC054F07A295CA75750164CA685947A2F28A8BCC6313A6ED75C1D +24E60A2553E618FF5465628A07C98C4A2467D01B541CFECFBCB75E93B814DA4C +75991244E63C1C7EB591FC6D359BF6F2441A7D0F54599408F38754A1CC3D9F1A +4322044F33EC757B52F0106177F0F23BCE64E31685AF97354CC36262019E3476 +B1EF9A23349BDA7A0D40A2BF87EA87FF6E81832C56001493187415AC3EDD5866 +A57291B18B39E76363A4E5E257A35D40BCB27417EC261F7FC291A8D6487481EC +990A434FC53C17836585F6A9D0BA3560B03AD8C992268C3BFD216EFEEA627A6C +E24B848135D68881A996560BE0074056810896610148F4BF13E2B80090318249 +3BBA16E93050BC1296234E2C0357B669B3CF930F32F813655B8D03F409DEB009 +9129EFC2FD637B8258FC293CECC4D7C7375A7ACE08E5145D51851ABF7A52B3D1 +5468A0A94B2FE8ADF68891F1B4C9133596D02846F6DE8D407F18665E6C8D4FE9 +32F197A0A15F70138388B33AD5E6A3517B8E1F3987FCE1B042E9A1EE908E06C4 +661944B856AD10C675F1360599EB9944A0EF679771C6326D165EB73DF430289F +B00E5ACFE7C21733BDE367140A03532A10D271133D227B0A6C3A8355DD660C7D +E6FB054D5C2A7E4A560A0EE40868FE793D27B0BAF57CD3E3879B8A6C79FE24B7 +2B80A8DBB01865237DAE898315CEE46A6B9F75B1EB9C13A18DAEA267D2D0BCEB +FF371F994BAFB16A9EFC4A085DD627628FF636C1FB297B120CDA157C76215C21 +DC2E84527128624ACAE5653D54A26F1750A2379BDFBDEA0E9538A6DAE6EB0178 +018466DB240C8087EBF064D5A965CF29595BD5A8A00DC94A62D1038DB8FD8564 +12EFE0C12ECFCDFC701E4AC529026DACAFCC13B34B86F0674BC1A3A222556396 +7115894B5493450991FFA9415CC9728B291AA864A247BB25B13BBE6608AC17C8 +C32337397279F2A5006D8D6706AE3543A9003139A00BF6CDA8E6F47F4AF7E408 +833553A532812C0942746433D471B49C180B5CA3308B03E40CBB2214E4588E12 +39D377C60855563C6866D547E713A92EF72B48F0E43559C339A6E8441055FE2F +F591A28B7C0E1C069B9F9A97D64F85AB7F422BD776FACDFD31ACE6F1E8B1295C +D3DA706CAE5892E9C28D181385A8DEEA875AE819DCE128EF0EA527B3222B46B3 +E57B2D609823AFA49E43EED3C6A020F738731515C4FC62C42F16A9280870B95B +AE5DC1F680E6D075C2ADC885773DD9B5E82677A46B5CEF2E0D4C03A321C96B32 +D992E914CDEE573B1CFFE98979C9B5EAA328B5EB1AAFBEA5F5209F7A83B6CA80 +087E824D1AB3713754D4EC765C0C623B98752E1F536B2BCF82346B956F55704E +BD3FBDE0CA044B82C503D49FCD4062032E133A03DB0F1CA80EC1CCA065626473 +42D7714172F78B674A1A2FE0E8E9B59E2ADD8103447074EC1EAE57304FD5004A +41CB4F458C94BCA7DC6EA2CF8A1DF50B568A8983D858523953F9EA9D7066AD4E +54B817D0D677F19A8C689E45A11861E6E57261FE6443E04D616815B238C540F8 +FCF9704727EEF043C756A23822063B431332B0111FF23BB092357DFA5DDF16EE +569259AFB5A97A32CE7F64649BE083244677C9E67F6F58EE35FDFE0770F1CBC5 +9AF0A6E383F97CFCEAE634F1F770E20899B68CBB0E84909F10E6AB20AD629B8C +DB3B36D53CEDF0D75FF6A8861D1804686C70EF95949E4B1F89B9D749FEAD878D +CD1076B5D2A5E0C13FF6091D64837C745817CA28E72273A9AF45059EC4B2187E +3E5AF4654283920CD8191503E232CE93648185343BDFA7C76758639775B8E3FB +C1BE8F2E260434DF28B7F23D694364024F92586FEAFF2AF047F983EF4A455ECF +930727B44E0A07EE0942C47D90DDF5573EF77D36622682F728CC9C318F5FB0DA +550DF4E3FE6C566DE91910FBFB7FFBBF78E6EE37345196875A3706D05440CAF2 +074DAF626748053A51101B499AC82577C38F3C55A5DF192C32EE011BAD68CBDB +6571CF2A93C77CE392CDE3A0E93D890670B1B0272C619E6A2C21F3F3D4DC3CCB +DDECC187750C798B5DBD31CF98D22DC5F1C6DF4689C3BABF5DA280C2C237E497 +C4CE6D19C2FACE2FB850D00D10DE53F83F62958C8230C205B14615B9FADD984F +27AD672FA6C9427435D7D06BDCEBDED922D68614EF8BAFF8DC2932DDBB65431B +AB752564280289D1DECA67CF6155D768CEF28EB6DDF2C229901041722A0513DB +83632B5ABCF9F440C3E32EF365412B509BA54EB538A5A26374DF00301B8A75A0 +950BCE4D780CDE769503A5D8B8555EAC7D6217B2DE3D4FD234996D4DBE8E3F2D +A2F1A776A723E07319733165F9AE94E798A1DB6EC9E44D1AB2A79192EC03650A +5C697A6E5FD0ADBD14877ECD01B39360F9DDB768507DA2DF800342B9E5E56D88 +EB007AEE61B8403183BBA21D3B530E8F7AC8B9EF2B15FF13A4D2865EFC5983C2 +2F46B2786FFE54927511655AF37BEB2428FC6F61826C7C96F6F7A06D21A92DF5 +0153C14E14110095FAC7ADDE01FD05DA0F0329462D257D317BD727A79F76CFDE +32121CEC3C7ED88F3A382164E0102A87BF52ECEC7F32A6A7AFCFEDB62D976755 +4791B0CB6A3EE86561E0F1CD6BD53E98FDFBFAD3110FFD4459C787EE8B5F7B88 +ED8A03B769EA530CD6B73D3D72DD04443629AF93DD4F2BEBA37A5873F70B9AE6 +CBE03E60A6668BB9953FBAAFD8EB663BE5BD4C1FD21624B75589E4B6EB69128E +560E65150C6D1603097AD0122A05960C9FB80C3043F43E70D6DD772EDEAEDF89 +BD895CF65CEF5068E717611129208909B1597C8D6AB392D181D4775319A80CCC +E3EBB841BA61F5FE90E9F0BEA8BDB0802A32C3600A4D81F82F434ED577D0F5F4 +7106F104A4BF675C3F29D4677679610367CE4EB4962DDAAF34C1C1B8D4EAC9FD +4CF7CD1EC456A274647930E61CA8631B774730AB1B05AFA40DB774F03B47672A +382136D301953FB9524065A9B04885EA4378CE942D14EBD98C2E22D858D5CA30 +74E4FDB73552571D56000EB14777FD7D4D4CBDE5BC1FB3E8F0DF1FEB09D689D7 +A1FE918E814A200FFD1DB572F9CA81D2A44AB6E949A14EB60996D6F35D16838F +7DAF61336EDB7E5DFCAD6E0BAF8FA004CE56B5FCDF355AB4746F0788BD6EC326 +64D044295E4812E91CB9F50407B61AA86D6CA2656854239C6665D98AF27856F1 +69FC627591323CA7B36653712BD7B63348EAC9049ED1F1E511FFF5C9580B3E2E +7A5FF1B5694232569216567155154AD3030A2BE940F1C541BCA62E5366A9BB4F +D86BBCF8F2968868126430B2BAA8096D5D15D99CCEFFC24695F92690FC2E02F3 +C72F91FE5A7BB6D40702640C793B34018632B42602C7E7615581C53C8C57CCF0 +8CB709F40562DA786DA14CA697E7977A060830BE729498CCE79FF1654242E3BA +C76B44BA44B66A846F72D608463F9DC9A08E30FAA2B3B5DF5C47837374C2741D +9AF98CA2D6BAF878198E2392B1B63646393A214DDAC0CB6531BBADE768260E49 +F4BB5BDFD72CF231995D772337305CA8D261BE57692E244C0E7A0CE56424C532 +C76F4823178B71F7490D50CB35C742980A7ABDDB1231F72AEBF1B92EC67EC422 +7DE6BEA6E5EAB5D38FE09883E39712D02BB7E5D587DE6F4DAE11F247DDB57070 +60178105C278039076BAE300D1B6FDFEF4412F8D6DC8DF39C4E969F8A173487D +F644CC7D3E580D4770613039506507863C1EC7346A0D03A661BFF3FCE9D3C4E8 +B26C4AB8D9EE092CD1C0F8069E82BBC376BB9B2E55BA7128973BFFE6EC338C06 +2567033F263A93FF5A9AAC5A1025AAAE1EC0ED91632832683BA3F8F1E0D315BE +5C3BE1C67CD4F84ECC6EA7F95F1E3F3A52AA51265F3E8DBAAC8127CC18C1C11B +9F30D95805F328E7823E813F7BE2B243AD6BC607955DFF38A45647DE5980BDF5 +7CB889914B0B47907F08AF08FD95986F0C754851DA0A82B77210012EA35BC0A3 +14A39BE00ADC5ADE5F8D0EE1112BC33AEBAAA8D1C34E1114BB734038E34C9DB6 +2648DBB6357102E2678F49A9828EEDB4E2B5FB644C3719BCE7A46A6B1906D47C +257CCD8FE3C200741CC02E1468636CABA978DCB64752F71241F6446DD92A1105 +933646F632E07CC0EA72143F5F82A1A3D214AE275086823AA74F0471B6D69B9A +1B63AC5634E98884E125B9014610BA9F3CB67EBC2E6788126BBA513DB848EB8A +95703BCF515F36CFD6F9E109CBADB2525E5435E5A6FA4C97C9154BDD47FC9493 +CF67C524702A851BA45C4BF4B8128C9F67C2052F37A31831EC9C680590BF576A +4AF9D264B7CFFD26BD472F06308826728D3482FAD1DAEE7C7685D77458C7D78C +9CF75F1A1BCEB919F48A5EC283D22352DEE39DA54CEDD266C3CD4D31ACE2B562 +CD3A620BD8CBC5329D97AFDB3E66189B9E36F1715E22BADCA9D13C11D38C1921 +3D665D0B5BA11511BA9CAFD3ACCB5E5E19A45F49A8CDF6D24C88EF3E11F3B4EB +349737AA8C8AE9FE413A04D2CA895309C65CE071E625D44BBE7C7E02008C8E78 +D245B1A006319E6C4D9071E763A6D1E71520E0ED9CDA00CE5985B754CA38C6BF +ABD3FCFF3E61833B6ED678C8D1FE0FA2402F8A7548A0F87CAA5549F5A4265BFF +36301C9D89D9EF7E2F39CA2FB5D4A370D22E2E00B544890F4DB89FEA84C466F0 +BDF6AAFC42D93376454F1985FF992895772FC29132DE6676FD95641AC100752A +31EBE517DB61E1D3039E500F5726124BDCC670BD901614682E0D743A82E7D19C +BF609C323A0BA3BFE6E729430307EFD1994446295C076879B63866E552F0F225 +178BEE68D832FA9310B262738C3B1AF9F74131749538C7805F022D7A58792F43 +E1376A0B12B4A0B4725D440897927250E744D817E2B8E2106FFF649F753094D3 +46482607441E52B099D08B534992629646C228EA9EAAD051610BE21EE92FA7DD +B629A34733ECDFE98953DDCA6F6BBD44761813958267F5676D66C0661EB4A9BB +38C298B2D25A8A306BAFC22E13D70E9E490381406A6A0AE7190E88EC9EE9AD3F +2C217744E547BE20A48FB5F9332DE28A27F92472AF1A54FE8F681512C28FF0C3 +D9644250CAB98E4F74DE422010BA6186C7E8251D2D38483DF24C1A2DA9C76593 +2086953984C5F9BE47E398C00E2DE650DE7BE2BEC59D6785800C2AAE476FAFBB +C1293D25DA35A6259AE5B4E78D50991F9B45BAF0ABC51FCBA6005E737A777882 +C3A6D4F8BBEA8FA43A98760A584F0F19C7AB91209866A2DF316CBE4C5F6E2176 +0EE8CDB2433060A700AAFF7C1EF56AFF93D285E9A5E14A0B8181AA1745AED616 +B048135CA9CF45ABB3951B0166465BBB66DA36A56EF9FF5FE98CAF3E801A7F64 +CE14338943767EC89060359BCE5A4690852253975D7915F3E0952134DD6475C2 +8E7E3DD0B2409D6629BCEC3BE789C56CF79853DC1A61C48317ACD72DA2BF34C8 +1B7F2A85577FD61C7B1A017A9BC0C1F47385CC339F73B2241E58AA1C2FD38C88 +D047F8A95C9DC16D018DE4AA3D9A44EF59E529C025118B542888BC497B767614 +6467B05F8FDC46F8C49F738CE8E686759EA4C87DC66D11ACD5B5AAD0FC7872F4 +8FED658505C3547D6D62AE05BF0C17BD9301866B0E947815CA48217EF03C9A8B +91B9057A70EFB8642319BE02A2F59F2B7222B33970019592FC2CB6141D657C42 +AAC219BBF030B00633795273BEF944BCA8D3C9C560604F6D80D2831F91D29A5B +2FB69BCD78F3DE7516C7C42385048A738747EB936FA92CFB8D5E7339D0AF16E9 +ED6DF45D1FEDB26731D14016E0DF27ABED7158E2CADBAB7CFEDCEDAFFF1D7BAB +B751E5575A083E1B1EC95AEA27FAEA6ED7E10C3F5F0E14226345B12F46B0C27D +A442F562597F53C44FE45D74F8B756F9BF64F1FFE56AF2362A5061388B92A6E3 +93D35E45FFD0726F542EE02E1853473BB1241421A1547CE8DE865BD36C91B345 +53FA52C009DFA61A3E4DD48302D7E683BF12201E1B1038EC8D7CED573FD57E8E +BEF4ED0B403E60EBDFE9ADA568512DE96AA1571393D4CDF2B40D04DE8B32CA13 +87AC2CACF43D7122A7326EB51EF1326EDA521925BD4FD08CA710161CA661AB65 +CD62C2FCB8F10C36AE0F9B6B6B91DEFDD23A86E6541A3DB6AEBF5471381422A7 +47C5190A77B1AC66D2B928D0601739845B78F0007B8526F290F5E991DEFE3DD4 +2659633E64853844E903325D527AA087A30861991093A1BDAAFDFF5A7C8B85D0 +BB87589E8D20D71EFFAC02A91AD60FFEF0AFEE25C1A74933C0C3F6F96B20F14F +EC84DA9FD024FC5C21DCC84EB946AB4F026D595B21D407E159E0FAEAD1708AEE +42C5127F6800542AD54BB5AD7922BF5BB09B4374201DBF5848EAC03D8DFA1782 +82D911F772C4E66F7F9B8A3149BF7F3E93E768EED54CD1B901D961881B6BDE55 +C6640ABCA77CEAFC1ECEE17BE945EAAE5A65B22E68200202BF126C35FB522B0D +75F7809F3C777C61BEEC468CDED769F521571C6A90094CBAAEF8A2F62C1B30E2 +57E0FC19562D5C0EF6AF509DC385235B0B385EF20C2408E39D3D0C60E56AE4C3 +63C35198132570951103FFEADBC6D886500F28BE378FCC3A8318A93BC21F7BAB +B751E5575A083E1B1EC95AEA27F936AE8283306D13AB70D2E2CE7BBCBB707F74 +1E16C68A2F08FF9E3EFE930AC07EF8E06E1EB0AECCFCE97230A76C3229AB9712 +618BAE91ECFD67C4736B0FF2EBAD5EACDD53987B43D32393F164F52E157BE9B0 +17AD5C5E6A9DB5B2B562AC113019405B9CB4C946FDBBA95FE7561A0F6C6FC08D +06E40C508685186420ABE61F510C22B6B5399326C2B7DE4C7ECA54E95EA45ECB +AD1E993050B8FCCB457D18190AEEAE4AD2A892E8AC1E90BFA99D34B3F0C8587F +88FBF9D9FD45259E13F436A2A27845584168BC2A430D06DEEF720C2A4B7775DD +8180B8F67DFE48BF6D57D1B9E2FA148D62DF24597B0E0ACDF4549F41B90C5FD4 +01D13976B458A7E9FD538C4204709AAD1F75E4D5A1502CC2CC543AC0256DDBDB +5089BA3FD9A9AF7C7859A6D7316E7F3AAFB1F6E5152BA2DB39D6C3E8B60ACD52 +00D73F13DD53248456F5FE7580E909415AFD0F4D62BD0829DB4D1E7A70393F39 +60A8E49BD7AE2C4244979EB14BA8FFB8750F3C0B15BC34C21954FBECE4294E49 +F4B9985E304525252397B8C516A5074C31FFEC8DF303C02BCBE567071E250332 +9FA299DD94B3166DDC73E4D69A045A365DD3742E9A9B3EF969FBB1A1C89CD24F +B498E67FE4A9DEE1596B6CE165C9B7AFE20F344EFC8217D74CE9504531A6AA0D +4C54C358E25AAB98F555FE41A893408105F86983284256E7756C4225673D893C +04FE2FBB81024DA99E7651145F9F6A7917586CD4272637F2EFFB9A370FC5F685 +A8D52C7F290358AA9CD9E5A311B539ED10EDE77EEDCF560F52A92D0E01A054DA +0FFF4EDCDFCAE93B9876A2A536E40834E3033FE22F2496AFF7EA72EA1F8C5CED +D3BD22FC0D05F643C0BE6B4EA705F7F72FE94A5D2361B7C7880568C75286B8E5 +432A57197DFFAF472BA2F075BFF945955888D5394A4E220D4D0728FF95FB8515 +B293590B96F399693567B7223CF6D2B765E13449133EF6E94BB6C1DF9165F034 +13A9334659FB1B848AB8AF7AB51D2EC0C209AB2F31A131A36CA0FA480C85A7CF +F5E2C1D183E6492E434EAE1BA0936E19DA29AA77C08192EDCCA27AFB43FC96F2 +72D6CFE0F901FEAE217E4421D35B88BA2B4D3F6F088D0F9C391246268801A724 +28BC41869EE445C59D2E7F060E236F64E78BBFC912ED6BA4E8450EB4CD29EA16 +466250AF1955A7D8410598244D3D1B5A62907162B395AFF7D2F1551CB919E461 +71281F6615E9F77B8CA0DC0E20B1749EBBA97830506DE264B09359B8FF5E9064 +0C827C099C1AF8DEE7C73D21C577F5F78DE375BB7C0114ADD885B7054999E507 +8A8DF072F6743A4A36CC8EF06577BFFDDD06959CA7D6DE7EE2E57E1EF7679465 +62D76B38A71CCA202C629955EFC693152FE8233BBC3C6D4C990C040338A47C3D +5716C5FFC37C0BCC9D526C04C0E9B11D392B955915E160B6EA71FF8434677237 +C694DE103FD053880598442C19E74AF0306FF73C6348C6C0104FAAB95F43A934 +D7CFB6ACB5AA86203987018C30EDF9198DA3B295A52FEBA91F23C6A080503F95 +1267C814DA30660F5CBB05691126CBA8DCB4B2B8E745D05D92A5E89E143E6348 +1013B1B34382A9944207CFBB5178A2320DBFD2CAEC9B48E523BB9EF1768967EF +92BCDD01EDC7396510649E1B2937368D65BB5406668651177CB853BE259666CE +FE37424C1879C263F53833C574289E8CF6B6425373644C10714EEFDD6ABE83B0 +5B49897FF9750541B1C0E5EFFCA669C4F79E40DFA180E2035E5D135A65E21D49 +EA8DF28250FD321BE28AE3866F391864DF9B406DA10FF25100E4A7B55D10A241 +B70626C45A3FA81265C589F9566A0DE3D63C52431A65E478F6C60B6F0C6AB5F5 +90023B275307AF550F3C8C13E73BE444E65664EC42611931FEBB48E1D944D55E +5257B796091ADB5E11304823F59C0FEB78C3D60680790EA9A57DDBDA18159F64 +A0207F43EE94536CDADC68BD81E5F16BE5F1CAC4FC71AE40DD936C862424A0BA +C81570931316A6FD605E5D024B220DAA367F548020D1E44597BA2B8136F6B4C3 +9D72FB257822D94CD38DD33F020621C739A23460E15A24E346EBA615C4745640 +D56BB0DA9A012FAA533533A8B069923F9BC6C15C2B90F2B875C69FEDB4D616FC +08A3EDA1387100AB99012F5925C5DC14AD5AD10D7223B592C2A8A182282AC372 +524BC3EFC773AFBC1A0878CCEEFD3F19A075FF8715306AB45FF1BC2B95760307 +BC60159FBFF468ABD0D0DE65E308F66943CB484E59B5BF520B3690A473C03D8E +B75769699973F30339A97AD6C21ACA5730E20E928F74CDCF7596C4CD08477EA8 +A10AC0EDF889F685C6329CB34200253A9865682F4AF47518C14B00EDBAFC19F7 +EB1ED81B2D427CE3773057AABC817A74BFFE3909373E58065861CCDC04CA260D +FECA9314987E3C64A741F0573924ED453E7574D949072F84388B64B150164F45 +071FAB3A449E4ADE2B774D9A507C35B2DE0562B465FAEEB2946B704CFA85E9B8 +1C81D941119F6CACE20A956D46E24F00818C8B6C191BD6688F83543BFC3DB23F +65BB7F4D73B66A518C92F21E559AAD015A3BB9AA0163D375FC63A29AC7A63035 +395B7732702AB2FD0841A2984E41D6F1D1CAEDF7D87A8368B3645354674E9D05 +C2A2F21919F232567243DFC434EDE85D9E940C2DE6294C204F564C4875111084 +019DF1E1505BBA2D1762B7829081E452016C9C47C1EBB5A97CFF90F3A9BB46C3 +9AB4059C4C1E6475BE0BD506F7D93A732D49159533F0A776551EFDAF45F42DE4 +DF55EF5EB148060F15EC1B9269A78056FBBFA94CA8CE853D1669C8B78F6E0D7B +BD280FAA448CC5459DCABB85FC2BB9F82186C49854C81C529DAAC256C1113F18 +83DF375342B8752BB898FF54845EBE5A1051F54537269DF1B2469B2758113055 +1E50DE50A9294CBE4ACDBABF62A9C64E6B12A850C0B890ADB17448068F514C48 +F418F4FD664CF4A14B47910425E1C1A55181E2BD713FD508E71841FBA395E476 +0547CDED5FEF708BC0CAB941DB0F04E833D591665A8EECEE214953CD860E793E +991C966B7777ED705A8694E2A18BC898E9B2C39B564606B5A3EDAE9C07AEE310 +765477A8430DF7C4807966DCD0A083590D0EEA038CBC34921FD978D547A19202 +4C5900F8D4D19C5A8F90D0F4FFEC44169612E6863E2CBC25209AEF2CA999760B +4C21F07CE4A017188A7DCA2FA52586428602BEC3A2B52D070AED97512E482C10 +F29C0C9BF26AF416CCACEE7B7541E53B123F4C64EDBD8A47E2F0DD05B8EB4B11 +C559EBBF0C5793831F8079D606716AB49805DE8EE0BE989F253C99F70FEC44FC +6751FFB7784D8CE077BB143C350932D5090F88EBEE48C425FB6CF525A89980FF +27F779C22329FF3EF9736936BFA1677F9F159F56F311786004C781152C01A7DF +2E63C5CE55A43D1E883072265509C773504E9CD185FB68DD670054CC043964D0 +0CEE7E0EBF2972A42B4377965E2751A705D116805B15434A0198AF290273F1AE +C190131D8296B53D99DB83C3C8454E68E939C8180E393C3A59C0057187156D97 +B290681B74AFD960AC4D52164DEA4954BFE662832D6A288DA32B6A3727A8AE10 +C1DAB806F66DF64C752CAA4ACCBE63120324CB09647D099F37D57B0B774F5D11 +3689C1751FAA84E322D4D12B1C3AC4CE272A31A235CFC3847A20EB006A10EDE7 +446B6C20AFAD9B94D7D19DC903969D22D25C8BF83097668C1CD5A60B8BBD17B6 +F3FBEA2B02ADE6305BED5E3FA72E836C004888A9E3D1E1C084A314499D7969C3 +E1175CCC946DEFDC0211C72C553CFB252C766E145F7ED680C722D72B59FC8B72 +4D77D84042AD4F1BC759AC75EF0FFF8ADCDD0BC65CB5EFB3FA01075CBCA38F62 +F716A0D8D0709FF897D28D1A004B586D39934F9AF66E6A3A57133CF478E9F067 +1D80BDE5B721AEC981009946CB280D6B363AFE2E5A2BDC65218BA88536F39B91 +4E5A0227C67942E58265D3CAEB8042ED76611FC167CEE0E2289EDE846293F4F5 +6DE6FB10DA622DFB280F4449B2ECED8A0313F338CD6556FC81C0187AE54D66AD +FFC21A73701BE76559565CEACC05FB32ED9F3E77B8511B12315F712F77B0087B +C7F19D3F849A6C61544B9C3D02EDC9E8A17FFA5B8022B6BD7854AEFB0684920C +377C6146145BDF2BEF868FB889F5222353363B087C84A710814F12C04BDBEFE2 +C775A9E06AF693EFAB399C45696693A66A3BDEC5337E9D118179748A711091FC +6EB19B0D6A6859763F7B9A214DCBC47DC8D7AD29DC274A8649D5B4C2F0DE086C +AFAFCEF427EC3CA64FABFEF61523B758FDFDD3AF8FB4953A41094223A7DF2565 +F9FBC37CAD7A6041AF74FE079CB63A71E923150AAB3E846D158561BABC666376 +781E20D97E007795C893004F0FF6F864B4B4EC2FA91647D519943974CE6BC92C +9CFB50132566D97A3E9167F0336E74CB76158D3AA128E3F5A94B4F28882C7633 +22B8BD8C8971D38FCD48D970B5AC4817C3F4C930F466C8DA028A78151B3385A0 +419CB4BDB568A79C75BCA3587E2EE44BA0915A98382870E635E040ABF6290582 +EAD2D65F03B4F41F53C61527CA98C78F4C6A66BCAB41387510DE1F1D17CAFE90 +8333DA981F25F42CE4A508C64816AA53D20F70BEE9E7CC4E0102F440EF2178C4 +8656E7E1F90C99D7886336B100F563EAEDA1666DBE91C9FEE857CA24D639D1B6 +C0D11A36DF260B09F64791245396BD98D7150D912BDA36385ECB446B6A381E9A +E3EFA16E57CA8AB4A794E20F0F91DE57258E76E62A5EC2864AA97D995CFB5CF0 +8D51635906AE373215DA6BE2D42186EAC29304C335F5B925C040C9D0B9DC8BF2 +743A55803F83CDAB10D8E6C6AC093048BE1AF532FEA512C3F549800060786475 +340F4C4EE0AFE289E706863BE5CA703C7E9008569384E748CAE68EC429C1E873 +9CDC6B7CB99EAAA11CB03F520C4A6D93BBCCA0DBBDCEA8CD955399A4C6ED5F08 +3DB926C575C39B48EC426A65F9A209CB529C9FCD3573D3638C9DB5F9E35909B9 +9BE84C6B85C4F826BE36C5DD69E7D75C28F10E36B8102BCB41948176DA539116 +A823981C022DAA84FF4C34ADB130C45E53242A2E098C8EC311F3825D2F094D28 +B2D14BB4980CC07458A94A744A8CF85027613367CF38183CF1A91DBA89ED8B99 +5E769DB4970CE05412EA234C0A9685025A4FDDCD201B1758A3230D24D3B4FEBA +4C862A86B1E821F9D2DB75F392C1F50F74B56D7C138C43F2B48573C899604FE5 +ECA83E5498528A909BD1EBD3EFE90C52832C20F7A6B20B18AE9AD012FE58489A +CEC2AE2D8AFCBE2A4ACF3656C3B8F6F5BE260468792E754C5B34437B4D59F78B +BB257E4B6DC1EE172836B50D48FDE84C53DC7B7BB5BED5200C5A84D992093932 +B2A4AF29B1DADBAB29A3AD9548774801EC346775C1C58B0AA01505D8AF766A2C +669E5DEEDBC498A105A631C9029476EB5CF17AD92C3B17437723BE893CA4219E +DBC06050E75E10EE0CFBA12254E20A3AD95858C61FE91043392BF28AA3E81603 +552CAD7BEB03E3B1BD502BB121E1E63D96E03A3D80B7C9DE5BCD2F6C4916F886 +4C66B923534872346F9D77E785F0B9D6F18DD25B324FABD0332CE9F85AF33502 +B1CCD5C33D0A8CDCB8F364DB9CF4A50AFF8AF33E265466B0998803E2B471A603 +846D7D1D12D93E6F9A4842B58496DA11C4F3105DA1EAD121C1DAEFDAC451BBD5 +B3026F46A885C3075AC4F78FA9DD430FC052215D08B3827DB47D2F2A6101174D +977AFFA061C446BCC62482B4B2C438721443B85A8CD5F9053F3B0F0F67E5A323 +03AB89407C1F76976E42E4FABF2862CCBE4A792E069D3374A50CE6A910731A7F +C1148B92884265B7080CBC5D0A00663E3BAD9A3E5AC290267DE0EBCF4E8A9125 +C2C3AED7F28F1E960903F3F91AEB7D31425AACE0EE90FC8F7C5A8DF87E7B708C +54090B44A480BFACC1068F24F4D96949D25BE62A33E9D5D50F333312ED4E86BB +2D2D7B3C1E78EFDD9998F00C593AF355D01F62A1452100B2B2DC0BC6E8EC2D2E +54FB9FB9D98C5CD0F9CBC1807DB699B5BBCB8BD25DF64E2380F743CDD7A37B47 +558E0809189B1F0334050C2AC4BC5CA3B1130DD7881A8A45E3A889F0D94B141E +179739A968C1E8D2A16953F241D2B29CE1C264B240804392E39C0059349AFB7F +4DD2A97D1D2EDDA252F084AC1D366F313550FF12FF5112A4DE06D030921EF357 +77508A91CBCB78D1075447F1BF200C954546CEC71A8CF58015E90FEAA26ACC1A +82EADD5A9C5A0E2294620867A9EDE99D3E799A3444E30AF7E71E5C38E4836A25 +720AFFA396E67FBD60772ECF052D12071E3EE60ECF627820565FDD00685C3E9E +6240DF06FC04BE56C079644071EA53DA652B8DC47C5A2AC31EEB5D70D3037FA0 +AA5D19143C1686030CCED179A17096991A733B846E5229145BC09212571BDB87 +6AA0C3B4E88F35C6A3A1D05018E2990B2A0A5EAE6B3ED7DBAF8C7CA1CB6AADE5 +B6C0B6EB20AF9E9E93D0A8329B5C4B02F963685F485B4F6C0CAFAB3A7B26FF5C +71C5CA9FDAC213E8A421ADD0A860D8AB1FEF0A81B35823980852E3A177445357 +7ADC5EE8561EA5DA8AAF08224A765198DC8855D6211E35631E5DFDEF651275B0 +AB6F342A4C10ED6463C16D507B28AB8A72ACFB71C8870ABC0277F610F004CD38 +201FA97E452B299133A3035F4E8894E45F2D22BF10CC5A61D54EB584CF303E55 +3DD815FE141F62C97A9728A28243BCD4E21BE88C01A0B2210EEFF1947B4A363C +4FFD777EDDB3A4E56F24FDA05C7FE9F60D94755CFAFBA4022AF1DE152549EC2E +67AA08F39E679E63E859E81EE819AB583F35B45BEF6B083FCC2004F4360E15FF +F7D235CB837837EAFEA94DE5AD0278F8540A1AEB43A6BB67E2140467B4659ACA +C002635A6AC998BB3F5519D5A88831C4C74F2CD5B426B03370C287308A36D5C0 +B0ADE2FE7B9D4F0565AA9DF27743C46D3B1D21D42D518497E1B24581DF7AB1E2 +0ACB6222505FE5C83B03BC4B15F19988231B2C8399F89691BFAA0D969FFFD096 +FE6F622B800F0E072655B09FEF82F4FC83BB38C81787B9AEFB52BA1FFD1549C0 +C413CA99804164944A1D2219CD7A6640C3869B720107E1B419A31372FDAD3362 +4EC4F36C3C0754A0B4DD592546418C3BE1B694BE3DDEE519A4D0A2A62E6ECC23 +AEDADFF288C39378BA7BAD73FBA07B96330BE471385C6857F4C126357B0919F3 +904202F8E72CF54AD0AD0CFF2723351184FF8253357DA2A606F264C0FAC8B9D0 +07F81727C21BA8FE7530F15E7E70AC53DC25BB3381E6E2B76B90EADA49C06163 +DB92EA227BBE3E5C9A87BCCC01B572E646B9EB17782C2B48EF75784AEA114D4A +71BD7B1C6A09144D7F5085C1B6E2D85FB13DECD1F6C8FCD190BE2B90FA0CA867 +6489046D5D1AF1B815951D40BFD690BD03828E5DA36B7270ADCDD94BCFA853EE +7109134D1BFFB8F0EE0BF91EB2CEEE7BBD69175AA3EF7A2B8107874DD9AFE31E +06B982D00AF5739563BCB18307FA279100C62007C9AE47A86CD0CD5CB82CE229 +CEC433FC66F1521EB7EFA3B95510B2397DC0288F2CFB622E0C124545FD3F649D +69EAE69921CF1E7340E7C821C43F4173670C17D388FA26600DDC9DE060DCD50F +E01E0B5F51067DF45DFCE5748770FF36626B6D3CA792C4B8D7E456A255CA16CB +F85D772FFC5413E6D7C126A5524B3349BB77DE88FC465DBE4D4B2E4E3D29389D +4AB4EDF41B64F1EEFC8510587306CEE625CCB6DA4201769DD5E1AAF2F9B40D9D +2B0CD2708112BAB4652292ECFC1AF6B889417E594628F5ED214831E2B1DA3E87 +632BA0CC11D233AB142845621B7C3C9EE6289A02C1C010440AD2D26963560F79 +37B4FE2516EBC239623E2A9E0A0D8BB69EC82E846FE0C5F56933DCCE3575F053 +8953B5B80F08AAB57175C3848F1B9C3908041A710786F5475D47765EAA99726D +9BECE2641C252DBB20573F61EF4CECDA2A3D751F25FA921EB806C93543B3EE89 +1BFA4432687739383284265CAFDF623228C312692BCF5E233E8703A7F113FB6D +EE634DB4E4D1129C16ECFECCFFECC6011704610345B43711AB5DFACB0CFC7323 +EA3EE3399BA4A61057AACC02E0A6844A64423FA911D71B78806C3031DE22F546 +4D61357696B0F3EE4B5C41F69CEA685A825445AB53689EB05C4777C20162468B +B283DCDC1CCE7024850796A8448B76189D977C895C3A2C926762931AA5302489 +5F86490E21D0DBA19294B44563C55BF94925F8D07A16BCAFB8C797934C021123 +B88158BDC19F48B210467BC02952D612A863E1F1628F38E56C5BB73C10A179C7 +A2E5D03F7BDD11BC79EE16C54812C5B0FA1A4774B01DC7DEC115D7C4DC04891D +75DE7A19F45EE3EEF17C0400176C122F50879B409E635388BA61F67C6ADA3E92 +2CE941F15ADF0B43981360659E02E8A0FA57D13B295A2D3BFA4F098F9296AA4E +C8B98810B8AC75FA6659F3C28FB92D9F4BBC6C79741C471345C87672B8A4EE95 +CC7CDF7F6FD447A6AB04E55DC3D7422EB524A373B8435DA01C4E420249845DD9 +13C1E80E5EA0D68C819969EAA5F3CFF81A7B271261FB6CE7D1C1567759DA85E8 +96BFE3A1BDDD890ABA7FC5B0C44911B91D3953E6A33C1E69B7C58651A49CDD57 +E740AF490CAA0B3A9AFEADCDD57D640BB4E4C2BFFB2C0AF81972F72459D083D4 +FF2A18655ED1BF57336ECEE601932AC5B4F718006D144C86383D9CCBC659E831 +D4002D8F9D8047DE71FC4235575F1D03C0D12F5C047A9930460101E5330B4827 +E618877FC51051D8D1314DD09291C1ECAF9E16F3FA36D84E0389410D2920A8B3 +760B578D6C3E6686CD334508064D17F6351AF7C1865F2C4B197539B51293404F +B31283545AB983919A2A172D3798E835259766D94C9FB5F2DDF2B7A5F5EB4C51 +077066BB4BDAFFF8BB96DCDF35EC94A77EF533FEBC52F85CEF1AAA5C089A2939 +D17D7CA326FB78C1F9F42F4FA6328DB31D4B9D50C97AC52365DE7FC5A1729CBD +B9D3C78B677A9532BA3BBC08970570FE982B3B72B9585FA2F8CF585890B4AD71 +220E37A2C628C024FB9C7B7C12D26CF43DE7CC2A4BCF9103073157993B81B59F +529BFDF9560C05C6BC7FAA0977CF57A766C676DF4DA3B163B60D73BC1B3C0FEA +F6BDEE612FCDAB38DA30794F2CAA5D7652914325FEB8826321E6F474EFF718C3 +C76EA97B306D0A408CD94644D4CE6D06F6A3D24C03709C95810D88B38D3C85F6 +F4579146632D60955FFFFDDC25FA4E018D4047AE4540CF20D9F36A0FA0BA678C +A02173ED0E0D96033B84D23EDF250EF867163D5068A63C244BFEBCA03EEEFE6B +6BC4609A1F6F8107AA8B5AA1AE982ED8D67850CBDECDB7EF8FA7E61447867B5D +9E3B015635279DE022508F7B111AAE91B4D7431CCE2BA2D56CAFE71C54FFEBF0 +9B8F30AC3D4C7B00DED5E18583987D0657CE49412931B59F777DDE34C32B03EB +67CC64FD8A0D3DED8ABDAE904F21402A9BBE0773098DF09FD5378AF589A005B2 +E54C5B8F0223EFE41CF0AF78C7091D0C8B28AFBD271938F41982F06073BDA8F9 +39DBA4DC6590392F3BACE9820D1B0FE88969669E89573056504B8892FB407CC8 +EB296A870B529B7D9E6C6849BD64FEEDFDE6F82A3AF65B3A4555A111C42D083D +F7C6B09F7AD928C28A172F2B3929AA0038F02C440D35189FEF7797C4E8173117 +355A651CF4637FBACFEA5BEF2ECDAD0835F86D5DFEE8A0D59BAE4517077B1C04 +7FDEC85943101A2BE950BEA0402F71184D33388D59534E01F4422D28F2718258 +FFFCF6E247896C1A470E6D5821CC27C00B980A0763823134081719637A93E130 +1AC64EC572BD9F960C1B50B55948FDBAFCDC604E51BDC8C0C3B188FB0347BC6A +4F1B77A3708253BFFEFC7B674EF57F467B96793FBBA4D7672269491583929D66 +083116243107B26DA87EB8FEA9077B670FAD425F1508DA1BCE72BB1F702E969A +57DC0520930A222AB71D09383EF842543E6C9BD3ABFB1A864B8CE1F6B0018F49 +9894CF4826113BEF27B379C916A15C122E338ACADBAC6C5C1F4C730EF8387504 +252108EA4DACF23CBC0C05DF73046D9FBA59599E709CA04C92700233B4442E84 +A162CE13526CAAFA590FB0E2C40A9F307D3C48C94EE0C5EAFE0E6F09E073F0E5 +AFBFFB390276CF294671F5E747A7314EAB3F4A1D8F8AAA3908F3FEA68FC77AFD +FA0E64AFF2EB3B9036EAF8B9A79107507BF9A4FE20476F6641ADAD2D530ABC17 +4DD991FF20526265E37E4467DBE0CC01BF2C794B37397F3FD242040E11B31A68 +E40C1790200B7524593AA9D0EAB84A76B67E1D03877FC17F708E0A7AC8CC2291 +5CC200BCDC262825C608DFEFAAB22150E344E744DD2BAE8D23DDB32D99CDE6CA +B655FDF9BD1172C721F3B4B4FEEABE1B4F2F061631D79DB0A810917FB836AB26 +D89DB7CF2B44EEC77257571D873EEC3C16B138ADA8D89C26118A7857AAEA2406 +1EAA6D7341931C22AFD986C991661492A752ABD7A46FA6AF48FA63060E311850 +854401F0BE9C76396DD5CA7331BD3361B62258806ECDB608E4F41E5E57B95DC5 +D007A3DF73886E2CE3A6CC35739C3EC19DD66B382E4E99A28DBFCA1D556A72C3 +3669B28EFF355CE14273CA318A5F3A0A1074A6FCE263AEA08A4F7415D5244B29 +E9130A5A2D42DD31481C8424259688EF24E8075B8F05D5AC8EBD206E20AF5FF0 +5D4B2851247A70292C551E6EBC1BB19BEB6C13F7EC3D8FF9BEB56A8131CE6536 +E02AD75D553DF139858052C42F0051E3CFE89C7682FD118CEA45A0220FCFAFE5 +2F85B4972DC3824F3DC9E30276592D5AA9F2A8EE2369006515DFA3EDDE6BA960 +6EA9E06A9547DBC1B9323081E03E8F7E9B9B7BAE77926F8DC1D3A3E75E504AAE +A415CBFAFA73C4FA03DA023FE965109286906CDB5950B19B5C93B19E7F13EDAB +D4EA8EF4DD163A569DDE50AB8935968A187DBFF6126C9CD4A4A0037D43CFE4E1 +E64686F7797A9F889A6848E25B6BC6DC56421679FE5B5F50145DE56C8A7F5326 +72722E4B2F5F699F5607B659E62E0079926FC32DD941C8C30AB8044B02FF1333 +858346272BB8BE62E060ADF79880B8E49DEE95E3A9448234DBD0356256866FAC +A6320E2DE52A4701D75735AB7C74A141A0E756CD0911E17C15082078479CDED7 +7DA3284098D9EB7EB94C9334B9F828B64EFEDE90AAFB09BCA7EED54A97315114 +9E8374F142219812746B9471C47FEB1A91D72DD4C55EB328637FF82BF7B2BAB1 +782ADC4EF83F236F2FBF18B709032E82B4707E495957A0AC129607612C5C2FE5 +8D3C37A99B1A72ED892CB47D46DAA2D9B1C31D23BB70059C2AD1BA57363C1E65 +54E9F3A9579366A511ACB6D012C5288F7A044313EB0CDB62BBDBE443B693E420 +A819BB16E16F05005F83A19BA6F25289C7B97AA785B0E30467665B66E428D490 +F0816EAC535888EDBC2FB9963E681528CB1CE2FABCF540BC2D4835DA3824669C +EA23B51CD0BA683BB2F05CB974DE2B5D1D45D5EFDD9142347AF28EE43923FD44 +9AAF8959C65F4721E18CF74E648E29C14767FC1318844ED896CDA69E9FC3BF06 +2F0B6BC8D036012247886F35057F5F730C1C247454C8F079F49364CBCD0E428F +EB3F0F33EE6E814879CF6E1C77C4604088B0B1B7BC9A62A0CD5701E680970156 +FF9EA53A26ADDACC64F5E982017633F0F52C80C5F8DCBA6E5685661E138A169E +02EF58EAF37FFB230083EC44545C5B00BDEAE2FE48209BD7D3F104959A2EA005 +4C9D49652EDB0E9E33FE27B7C60E55C4EE9BCA5168480428D8AC31DF912DC4D2 +F9DE606B1C446AF764AC388FBC83F12A5A5D7694AC6EACAB408384D5BB44E3D2 +9E76767BD9F390AC855C4247DA1E0E85B407DF2A5E1C83309C1BC5A5D17A5AFE +D11E12BC74C54B689A62E76AC69A530306263FE922B60F8F40C0985BCD0A0C96 +9C9A9112312154840EA81291E6856D748035874577C95169FC5CBA4CFE871C46 +0C4CC83C226D77B22A181DF66C6BEE70CE2E4F80D43EDC2FC6682A824935EF44 +6067A5211DB2FCCF7E08C5BED8059DA8A48823B13B7F89B94646F3B19ECB7AAB +FBECC6A88639981D5A9D0C5C6597FC8603A5CF55AB12C9552259285A49CB8DE2 +41BA124F5560FF9370757FFEC238897167B6B53C0694F2F7AE51BFE24484F544 +311B394AD8AC70DE40D04A65D6E413F010E2594750908BB57A8D3B14F527499E +E50C191933339E2AD31682A947F73F2ABE9600EC2AEBE8E2BFD7984A0DE6FA14 +66979AFBCBC238912F1D9ED75263691E5B5D7FF53E89489DF2A913C5337E0D20 +B7C44727C0A235170C861616D09E47EAE84878FB85FC4AD451F4252459581A57 +925F0D5F3E7E8F58921F2C400538B964E31894FDB34D237F708E45173F822E8C +ED1D50EC067AB42B5E938BC87BD2ADC343A53CE7DDDA67B802F737450746CF9C +1998685EFDB9ED0E3BE1B53586A2982CA3083BAB8648B814F7557C6B804F7485 +5BF3F2CEFD04917DBBA375524990A995CD66810CB1ECE7EA958403E45590F1B9 +B5ACA8C745086DDF991DB49D71D62BF5B3EB7A94C56B3A50C66BBC0A3931AD07 +D1EC0F919228E607FC8C1AFFDF84421C6B07A5C451945560D1AD4BEB7405C033 +F783E36EFFF57DD7FD73B7F157F95F43238BC8471751E2F48B100E78F26D427A +F55A604F3C026C84622D9A333E6BF853A23C6BDA3E4EC5522E3FA87A556E8F6C +180BB34524DC5F88783193CFB97B52E2DD0CC729B9838314CFBB792589524D07 +CA95197B6ABC9C108FA596B986B986E8924C9549401E63687C75666AC3C9614F +C6D1A3A2B587C23E6442DFEE3DB6E217B07AF9B5366909EAF116B929134520CA +21B2F1AE51A2E86F9C9E63EA1A8D793222BFB7C14B734D93A9DDA0923CAE8BF3 +2869C735E2621B4504F56E95DEBF78945AA14FC3C71E67CA3A14F8E67EA97C4B +7FBEB8CCE9A8A5E175112BF492BC4676E65812B07AD3FA3602E348559804CF0D +7F2B7B2D04E1CD54C9EFA0111245D326031F9CD55CE35A9C97864D7D2343029B +F63CE981834FC6EDD8637276E75447288C9384C5EAB7221B3EBAC87ACD43A7AB +B59A0CED944D84151368D51D842410B8A31AF8FAC669EFA13AEA737A3A1EBC67 +84B5B4FC6CF7FE3B83FCE1FF87C74805066EF65F6ED21FF106648A0B93BC3509 +2C8A67319225BF42BC0E7C5C5EFA1FA1D1A14813FA065330D88465D62995B723 +4D3A5EA85EF4D64897C5DD3613EE8E823156C0DA75DF4C8C3F4B6CF90F4FD807 +18ECD1B542D02B04A2057D9E9813D75473763CE08011FB4B0AA1D677209CAC26 +ED8E7C2FE95590E9FC14BDC52B3D08FBEFF99C757EBE4C8F2A74A945FB384325 +EC722326C2A4140F1C069E67C5DFB3B11B9BBE123C76E1451F8F25CC79D8A65E +B58CF9668A6F4EF777A127217E16D9C7EBA02293A983A7B36C45D4B124B452B6 +5078234AFE81698ABA4D3F3C271ACD2DA371AD295518BF8E68EFF06703EB4146 +924776B618637610BCEE5C095F3F94027B142CD375615E110E5D26D4E87354FA +4F82B8F6690F586EFC0DF41111AE5FAC1DB414CED91061225D30B484D83ED94C +CDBE83A188B93133B22EC00CFC6DA0B99F78C27BD9B23BC1AEBE376C94C4F6EA +294ED84CB4511E8492B5BF73CED87400ABBF9DD98302C8ED1F40F5E8847B6ACF +6CABFE99AC65C1032FE30C8E33065C621E89B376C5F90998E7AC246E00368FDC +EF9E496A62EF6F273EAC41D3C5C5EE6F78E51F8DE92938A50AAE3CECBC6B297C +A6C8D8BEF1E781DCF6CFEBFB1330225A372081079133CED1EB680C0046345F44 +5FBFEDBFCBD163CEEE390C735C562B6F2037F2A1937702272D3B541B4C0DB44F +351A6589C1A68C32F5E165C2D75DAFDBB41A6466C6B31FC45A484331AC6B8E0E +DDE99F924BD26DB1A4E3508CAC4547445A444D997ABD0F4DD2A6A75E0E5C38C3 +AEAB391A6496381B12157AA9AA5DBD429DEFCC9E03721E32CB89D42AB2D1DC0B +884933739214DB66E632049672EB6493E94DFB7B928C1307D3B9080890CFE30A +6A201B4DC5EC38193083CDDF3350E8D4B76C0F112470CF896676B2334B7FD2FF +AD5E1361C20001217617FF6333D46BC09A688B5DED20CFE9BCAAF46E842E348B +24434581F35F8D6C275893DEE0328849BC6E3A1B032F8F994F2501977B517363 +9B27CB1D19892FD7B64C7A86AA0BE8E8FE330C4C2C692102688A4174D2ADA70A +01F8228E5FE55F5C93099AB75444D9DF32E2CD708D54A4F0570F8A264BF542E5 +8284FAA65C42960AC841CB16B017AA594B4BDD4E998629B96D3A4494BE0532FA +971F12AED1CD9EEBE6DAA5CBBFB29AD389E9F7C8DA1C32AB6EEB68873AEB3785 +9825B153779CDF820940D8EE3803DA8C19E21BC8EE7CE8C57B321A7F9C9CD2D8 +D8B9A9AAF795624C8C9397EE3EAC2EF8A94BF7F862A5B05D6DD962716BD61A7F +1C07EC9FECF339094D377E232E0B81C8C06EBA63D50BC0B64E71D2633683FF45 +365C146574F189A715AF191BD29FB01CFFD9D9C4C69EEE30BD144B102451CF77 +CD8D21258F237B1EF44853207D620E7FCCBD0D9F41FEAE8D704F64BA48E9E32F +A1615C6F8A18C8D34D8B73148AF6673A4723420C1874486D3B2C66734AC48443 +9EE21E0EBCBBC22C1ED7D5F08AC5AA1A3F22DA2054F4BB10CCD30D513A4454E3 +FA6CB25DBBEAA4540A2583F5025814C40F0116B4BB430497E519D5CC4E881EBE +57D9342AAD3FAB1142648CFD6299155D7D6833986BFD28688BD199D43D96C80B +5232E2B2877EA961FFA8E9DA7EC7F8A75FA0CFADA5B8A97A3A1D8F9D2CF3FD48 +FA818370F2E7AD2FE03B9F97ABBECF337C97161D2F123944C036BBCA9F983C00 +EF987631975194FCCBB708384DEB5ABE7C74B85F9D7916470C0740509C6E1422 +22D6417DC2ACE7A9F81196630DD8859F54521C715F370EF1BE899E09B90BD196 +0925B3352173C50B0A734F65ACD272FEE3F5F1D70B6640FBF1D16A4774AD8558 +7047AB50EE33276E7895D8FCA529D7CD3E7F5C944B3F67758335F4F89971214A +D4A8C5685A08EBAE962CCC8828AC07852CD86F73C2B29CAB113F30DD712B482E +7AF5861053B2DAF66D4435BD075F5846F3E4B3E280F4CB9E0D2527727E2717FB +FF3AD11BFC7D7CB8AD8FDE1176EB4C5716D326EC07CF6803CCB907F6245008E4 +918C582387E65AF3975E5A1C723565048F9535F588D2D95FD836ECD4206DD864 +EC0CA5781B75DDCD16C56F238D5DCE5E2DD5E98410AF9DB27C0FFB82734F0DCA +812129B1B4036804F9CE7732C6D8520BC605D08759B8934126C8B4D1E2925BB2 +03D7FABB36ADB0E37DDEEF17A4095EB414458C28EAE187B42330812233D66766 +DF00EF7269571D8F5B0B9DF4C75147288782A25A5242464BDD62369E5BABCBE0 +E941903441FEF0D27CCC90DB0B23227F6A6ECB4844B62F7D19EFEA6DAB6C15D4 +93C10ECF818A5371FBBA71990CE09DA9B84BA7A839BAA3DAF1B59DB1093D7892 +09268A57A7CA92AC65B665246981D165D8514BDD36BD083CC7B9548A8E18B2F6 +F520CE52DBB2AF50CAB62DC30670C55F06F176D0DF351A1C4D3B743CC70EDA78 +C9A4439521338C0626D62046D3C301AE9C551E952A945C5C7CFAF56590429AAD +BF1245E40501DB9C694526CC1D52CE9EA95EE6236812E8C7FA63E559C71275FC +FBDB0BED9EF4AF403075082F8E1EA5DFCC3C45575FE2F8163743DCBE275E251D +FD1243B28B40E5D435BEAE113036E783C7AB17E71687B0B161D4721D9C5FE168 +5D5DC9DE54915C2B00214318C9249C31294CE618B66C3DFD9ECF8EDF32CDDA2B +E9ED3712E48A17120BB7C66D811B88BE02FE18B6B502286781D394AE6057E519 +CD8D68F5EDAA2BFDEF3D266259ADC7AA1E5E9465A53D9E2ECFA1504C4AB2F944 +BF2C8967D76BE4B599E3E76A35CE06D51F30263E42764B3168A32B04AB2E001B +565911AAB607FA5B8F16F30E3415F82CADE3B1441406CECC125F4DD0D987E23B +14675EFD78CB464BC514293FBD9B67ED482C7D0B1BF9072C2F631C60E01B5BFA +88ECA463B4721EAA6E2B34C1E3F0F90A402DBFE03234837B6DAB7E0CD72CA065 +87FBA4C55A8DA3D6BA2A0B43145D46D914291003388940E0328A6CBB0D1E83DC +0DD20EC415ACEDB31539284B64F240A9D0C2DFD49533EDC6B678B46CA186027D +69DBBD6DB27B41728167F8152BFD18A07304EAA80D103B76DBE87B208577646C +0CCBA19118BCCC910212EFF7533BB8730BE292D247089CA71153BE22CBE2645C +01FB2B85FB39C969431729EB31EC454E429F8E6E1FF836B7343B45F5AEE2FE6B +AFC596060D18880375891730CB9072FD5A7D16C56A794C2A1D118DEEFF2CF857 +8CCF6F08242D1892E8DEFF85DD8B8B7BF47AEABDA115B282C27C7DF8F235B056 +213351D882CDDDF895D14F77E22CA5CC659BFB8B116B83781209B05037DDD0AE +0E32D8D425CCE833A30E00D2E733FEE802A7912157F5636E9EADB8CE012FB092 +BCC584613266C607F7E496F0A5A3CF850E821EEC233AD1112AE56956867D258E +D242CF1B1A4E3358ED9F50BCA552A1EEF71C496D65B570784A716950D286C187 +A1A71121B581EA267B569E0DEA8BED793C74DBE3AA2091713D3ACD49D65EE813 +B2A85B8EBCF6711105915BB3DA9E5FD2A5B5DCCBE823727356A4202746A374D7 +1ED14E687B95AB09340275699FAE367973C1A1B7DC1FFD9D5422E052C8AE2610 +1370314197F6C7631BAE6D1198D59B593C2A2C9CCBC200C83185E63999632B99 +CE7C5B28B5F02C539660C975B0A18898FAE8C8E906B86D0777D1854BC31988D3 +611F2302C9DBF6321AB5A4FDBBBAF575B94A167B3E31F8938CC1EAD88654C1CA +CBD3106EEE4598DFEDFFB9956BF6C00C6B29B945FE6B9142F8F0519CAC769742 +1FC3659A650CA49BA6D5500762CB2F6204936C52DC24BA48CB5920E51001BD25 +4A5251713D49A17245C219F2B38F87FACF01AFB402C83B84E03DBDF1F7325A93 +6C7D2392274296CEA3123F3CA7D73F6DD889C78929953CBFF4E74E23A02E6EA0 +60F49155C7CCF3C2CA079E7E3D804534C42938EBC7FF94C6129F74C28F527474 +1D1B32DD19E811CF73B39F300DEB78BA1BB953A0A938E9A9A5F2AE613D422F5E +5518DD630E209642D814D01417FB9EDCFD391436388925A9DB5D663EC84ADE2B +E087DCC33930AD2B76194DD4DF12F05BFBBF7100FBA22DEB809C67B46EA0943E +5D61B15B97B7894383EBBEEBADF5805822454C053DF5089ED484552C4E1D2900 +A7AFB5152D2CF2C501098AD8B2491CD733DB1A5818C636299FF98F96A7E9027F +9147FF5EE7A170D301A2A58A32121E64FB78669750EF65233156130BB51DA26C +C684CB4946E909544298F6B8EC328D6C7322E838CC41297F5A1E618FFE319124 +305DB0285964CE1DD0307F1B521E08B5F3C57168A538C2EA1DC3B64D986D9A43 +BF83C5FC9E6A9FCC2E6EE9D7C581480EA0A1E3BD3171F13D576E75A9C3479A67 +712DC0D52F47AD6296E5B488F9D3A6E3754C872C2DAA6A5B5FC0EB340F985E02 +3E44E07753BD36D431F4B3385CAFD82B7A593C44F4B090188189ABB97C593CD3 +7F6E41BA6B5EF6F9F7F0BD98236D8A2541D27111BE59C4664B361BC681B3D50E +28C97EDF51B365CEAA2B43B087B1B6333A27F1C1C01A9E974CD87EDDD7D184DA +02989F47F1188FC701E66B5306D74B2864397C7F3817DD6A40C5D26E098BB9BA +58D94EE5FF0BE890CBE7717D9042F405725D2C08AFE9AE6118C2D4024A13CA4F +4C3FBE1A6686290FBF812C0442FFB474421E4AF7377A106CE8818D4A70E91FEC +14F6E4493DF86996BEC392E47AEF1B21CF18673682BC666FE16F9A32F752CEF0 +F86E481067C9C83CFEDEDAC560D390167DE04B9EC0FF3E5FFDEB9CB00125829C +B3EED3E9668E4CC601DBA68AC54DE334E5D73CF78D12E4A0B4DD3C4AD8FFF573 +91998254E3C1735FABD53ACB450D03C9E090D57BB542CA8BED6CC382D6E65E89 +6C3D1B34F3ACFBE8A92488F5F5FC840BF7C75AD46945A56B3FA8FECC3EBADCA3 +D55CE1F07975B0A2D04DB2C3A00651D2C10E900F54372D638E40E90FA811EC19 +28E524F84432828BD8777D919F6C0D1C1AC623EAA258349CF2072AF11544AF25 +C93133D1D3D358BF8B71E94F367E5641148513CEEFCC461A328DE1A9C43A6DEA +123502E2F98A9FA8086198F911168AD85054AC753747E7348F964DF5D039E364 +20C3679FA4659C5F5CA2D3EB75A2620CCA0304AE592073D0C5FC57692235A37B +ED21009599AC22E2D2C3E83651B3FA45195BEC1396857546FD63391E28C6084F +36E782ABA8F7BCC01163DCD85523D0BFA9BC91DBEDAE9D7495E9DE5389A10299 +AD8EB3974638A05E322A58223D504E234FCEC89629C6FFC6C3790DAF7E6F81DF +C46DFC8AE53DE4D3676BD927F348EB7176ECB3CBBE7247775CF0723471EF3085 +3ABB677186121C901275360541EFAD48059105658C99366651C68B4EBFFEBBDC +5C2B79D537A9D193E041546C25F3FDEC2E760A5410571016F9EAFAAE8501693E +69D2CB3C2CC6CE248FEC8F1C98654F2A9DD5E0DECFB6913CB22A7B92682E3B32 +22D49ACC4A98E9508CA9BB539DEA589657D96E0E35A205C9AFB73C72CDD485CC +6E3C435EB51C9E6D50145A568A00F51ED4043D7F6055AF350BC4AF9C733476FA +675460F8584B8974D7061D351308F0055BFC3019AB79CBBCC8AC26D229D605B5 +45B1F5D7B506DDAC71F3775DF4BBD00E772BF1A857644E51BC31DAFBB48427BD +148C377C6DABE2BC17AE234EBDBF3060F7259A0FB6561B287D4AF864DE29D7F3 +0A7C9A2ED28C6446DA1A5D6F1C6E922A14D621179EB82978C85A49B718534A69 +895D0C53F03AC89BDFA9245F6903805203EB211499533BC29F5AEEFB01EE285B +DE97903C9F88E377AB6FE0D99AC2408C0C62BAE3FD818539DDEF5BCEC605A770 +7C730C9A7D97ADE411301454145B6401CABE6447ECACE2A613F2ADDE4DA61B40 +BCCC22CB08F7F5E516DB25B1B2291618619C380A67F628567F0495A9EBEC04C3 +3478111CBD51536386DF9E816148287196CD07E1EF1AF1E425E733019201BCFA +60D2004615986454AE2125A1993E56EE9C8A17C572B69F881D5ECC28E7FCF5B8 +645DFC1C47B263E7D6CF826708F40C19BA4E3C2085E502247198989AA7478A75 +E2039E37BE2C697C391587054CD67A9A07DE929BAA58F996BAC2A9158B52B363 +627582713C7AAF0928073799056084DB51A47D2CBDD1FD98BE64E732D74142D4 +5B0B124187FB0DC5B93602F064D3EE7F58E02209FD3167E9D85AC5DB9E306435 +609118474D16FA97DF7CE052934BF0443E0E013E5C8DF7FE2B8FB9D5B8E33892 +0286E51A7E3112B865B69AAFE571399750BA685ABD55E1958FC8FB8910EEA7A5 +C08EF52A8C543568EC4FB1E77ABBCEDD42266067EA264946D3AA4B54EB337D1D +C08988FF3CFB685FD00718D8E3399CFC29B26CEE6A4DF1EF624AAD58C1949779 +D32AD29E2292F7330AC690190FE6A1D9B9148ECD7F2D28F33446A783A4E0F5CE +395954048BB8DDA27AEB24D52E77227B64B86F5B806483DB10A7AB800079DC56 +6427EFB5B913236FAE3477C5A1DB97E6B85407AE86193366BAD0505E231F651C +91BD0B0724B13D8DA4 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont %%BeginFont: CMMI10 %!PS-AdobeFont-1.1: CMMI10 1.100 %%CreationDate: 1996 Jul 23 07:53:57 @@ -246,10 +1496,9 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 58 /period put readonly def /FontBBox{-32 -250 1048 750}readonly def -/UniqueID 5087385 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE @@ -313,10 +1562,10 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 106 /bar put +dup 110 /backslash put readonly def /FontBBox{-29 -960 1116 775}readonly def -/UniqueID 5000820 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 @@ -350,963 +1599,3498 @@ C1654A0861D138AE84F16B962C0122AC9345ED069B0D66F1B775F1D5E3CD3B 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont -TeXDict begin 39158280 55380996 1000 600 600 (ru-refcard.dvi) -@start /Fa 242[71 13[{ TeXbbad153fEncoding ReEncodeFont }1 -66.4176 /CMSY8 rf -%DVIPSBitmapFont: Fb larm0800 8 56 -/Fb 56 241 df<123C127EB4FCA21380A2127F123D1201A312031300A25A1206120E5A5A -5A126009157A8714>44 DI<123C127E12FFA4127E123C08087A -8714>I48 D<130C133C137CEA03FC12FFEAFC7C1200B3B113 -FE387FFFFEA2172C7AAB23>III<000CEB0180 -380FC01F90B512005C5C14F014C0D80C7EC7FC90C8FCA8EB1FC0EB7FF8380DE07C380F80 -1F01001380000E130F000CEB07C0C713E0A2140315F0A4127812FCA448EB07E012E00060 -14C00070130F6C14806CEB1F006C133E380780F83801FFE038007F801C2D7DAB23>53 -D<1230123C003FB512F8A215F05A15E039700001C000601480140348EB0700140E140CC7 -121C5C143014705C495AA2495AA249C7FCA25B130E131EA2133EA3133C137CA413FCA913 -781D2E7CAC23>55 D57 D60 D<12E01278121EEA0780EA01E0EA0078131EEB0780EB01E0EB0078141EEC0780EC -01E0EC0078151EED0780ED01E0ED0078161EEE0780EE01C0EE0780EE1E001678ED01E0ED -0780031EC7FC1578EC01E0EC0780021EC8FC1478EB01E0EB0780011EC9FC1378EA01E0EA -0780001ECAFC127812E02A297AA437>62 D<4A7E4A7EA34A7EA24A7EA3EC1BF81419A2EC -30FCA2EC70FEEC607EA24A7EA349486C7EA2010380EC000FA201066D7EA3496D7EA2011F -B57EA29038180001496D7EA349147EA201E0147F4980A20001ED1F801203000716C0D80F -F0EC3FE0D8FFFC0103B5FCA2302F7EAE35>65 DII69 DII73 -D<90387FFFF0A201001300147EB3AD123812FEA314FE5C1278387001F86C485A381E07E0 -3807FF80D801FCC7FC1C2E7DAC24>I77 -DIII<90383F80303901FFF0703807C0 -7C390F000EF0001E13074813034813011400127000F01470A315307EA26C1400127E127F -EA3FE013FE381FFFE06C13FC6C13FF00011480D8003F13E013039038003FF0EC07F81401 -140015FC157C12C0153CA37EA215787E6C14706C14F06CEB01E039F78003C039E3F00F00 -38E07FFE38C00FF01E2F7CAD27>83 D<007FB712F8A29039000FC003007C150000701638 -A200601618A200E0161CA248160CA5C71500B3A94A7E011FB512E0A22E2D7EAC33>II<13FF000713C0380F01F0381C00F8003F137C80A2143F001E7FC7FCA4EB07 -FF137F3801FE1FEA07F0EA1FC0EA3F80EA7F00127E00FE14065AA3143F7E007E137F007F -EBEF8C391F83C7FC390FFF03F83901FC01E01F207D9E23>97 DII<15F8141FA214011400ACEB0FE0EB7FF8 -3801F81E3803E0073807C003380F8001EA1F00481300123E127EA25AA9127C127EA2003E -13017EEB8003000F13073903E00EFC3A01F03CFFC038007FF090391FC0F800222F7EAD27 ->III<013F13F8 -9038FFC3FE3903E1FF1E3807807C000F140C391F003E00A2003E7FA76C133EA26C6C5A00 -071378380FE1F0380CFFC0D81C3FC7FC90C8FCA3121E121F380FFFF814FF6C14C04814F0 -391E0007F848130048147C12F848143CA46C147C007C14F86CEB01F06CEB03E03907E01F -803901FFFE0038003FF01F2D7E9D23>I -II107 DI<2607C07FEB07F03BFFC3FFC03FFC903AC783F0783F3C0F -CE01F8E01F803B07DC00F9C00F01F8D9FF8013C04990387F000749137EA249137CB2486C -01FEEB0FE03CFFFE0FFFE0FFFEA2371E7E9D3C>I<3807C0FE39FFC3FF809038C703E039 -0FDE01F0EA07F8496C7EA25BA25BB2486C487E3AFFFE1FFFC0A2221E7E9D27>II<3807C0FE39FFC7FF809038CF03E0390FDC01F03907F800FC -49137E49133E49133FED1F80A3ED0FC0A8151F1680A2ED3F00A26D137E6D137C5D9038FC -01F09038CE07E09038C7FF80D9C1FCC7FC01C0C8FCA9487EEAFFFEA2222B7E9D27>I<38 -0781F038FF87FCEB9E7EEA0F98EA07B813B0EBF03CEBE000A35BB1487EB5FCA2171E7E9D -1B>114 D<3801FE183807FFB8381E01F8EA3C00481378481338A21418A27E7EB41300EA -7FF06CB4FC6C13C06C13F0000113F838001FFC130138C0007E143EA26C131EA27EA26C13 -3CA26C137838FF01F038E3FFC000C0130017207E9E1C>I<1360A413E0A312011203A212 -07121FB512F0A23803E000AF1418A714383801F03014703800F860EB3FE0EB0F80152A7F -A81B>II<3AFFFC01FFC0A23A0FE0007E0000 -07147C15380003143015706C6C1360A26C6C5BA390387C0180A26D48C7FCA2EB3F07EB1F -06A2EB0F8CA214DCEB07D8A2EB03F0A36D5AA26D5A221E7F9C25>I<3BFFFC3FFE07FFA2 -3B0FE003F001F801C09038E000F00007010114E0812603E00314C0A2913807F8012701F0 -06781380A29039F80E7C030000D90C3C1300A290397C181E06A2151F6D486C5AA2168C90 -391F600798A216D890390FC003F0A36D486C5AA36DC75A301E7F9C33>I<3AFFFC07FF80 -A23A0FF003FC000003EB01F0000114C06D485A000091C7FCEB7C06EB3E0E6D5A14B8EB0F -B0EB07E013036D7E497E1307EB067C497EEB1C1F01387FEB700F496C7E6E7ED803C07F00 -076D7E391FE003FC3AFFF007FFC0A2221D7F9C25>I<3AFFFC01FFC0A23A0FE0007E0000 -07147C1538000314306D137000011460A26C6C5BA2EBFC01017C5BEB7E03013E90C7FCA2 -EB1F06A2148EEB0F8CA2EB07D8A2EB03F0A36D5AA26D5AA2495AA2130391C8FC1278EAFC -06A25B131CEA7838EA7070EA3FE0EA0F80222B7F9C25>I207 D226 -D<90B612E0A290390E007E00157C13061304130CAA5BA35BA21370136013E0485A485A00 -0FC7127E007FB612E0A2007CC7120300781401007014000060156000E01570A2481530A5 -24287F9C27>228 DI238 D<3807C0FE39FFC7FF809038CF03E0390FDC01F03907F800FC49137E4913 -3E49133FED1F80A3ED0FC0A8151F1680A2ED3F00A26D137E6D137C5D9038FC01F09038CE -07E09038C7FF80D9C1FCC7FC01C0C8FCA9487EEAFFFEA2222B7E9D27>240 -D E -%EndDVIPSBitmapFont -/Fc 197[23 58[{ TeXaae443f0Encoding ReEncodeFont }1 83.022 -/CMMI10 rf /Fd 145[42 3[23 106[{ TeXbbad153fEncoding ReEncodeFont }2 -83.022 /CMSY10 rf -%DVIPSBitmapFont: Fe lati1000 10 6 -/Fe 6 115 df<14F8EB07FE90381F871C90383E03FE137CEBF801120148486C5A485A12 -0FEBC001001F5CA2EA3F801403007F5C1300A21407485C5AA2140F5D48ECC1C0A2141F15 -831680143F1587007C017F1300ECFF076C485B9038038F8E391F0F079E3907FE03FC3901 -F000F0222677A42A>97 D<147F903803FFC090380FC1E090381F0070017E137849133839 -01F801F83803F003120713E0120FD81FC013F091C7FC485AA2127F90C8FCA35A5AA45AA3 -153015381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00380F81F83803FFE0C6 -90C7FC1D2677A426>99 D103 DI110 D<3903C003F0390FF01FFC391E783C0F381C7C703A3C3EE03F8038383FC0EB7F -800078150000701300151CD8F07E90C7FCEAE0FE5BA2120012015BA312035BA312075BA3 -120F5BA3121F5BA3123F90C9FC120E212679A423>114 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Ff labx1000 10 36 -/Ff 36 256 df45 D100 D<903803FF80011F13F0017F13FC3901FF83FE3A03 -FE007F804848133F484814C0001FEC1FE05B003FEC0FF0A2485A16F8150712FFA290B6FC -A301E0C8FCA4127FA36C7E1678121F6C6C14F86D14F000071403D801FFEB0FE06C9038C0 -7FC06DB51200010F13FC010113E025257DA42C>II<01FEEB7FC000FF903803FFF8020F13FE91381F -03FFDA3C011380000713780003497E6D4814C05CA25CA291C7FCB3A3B5D8FC3F13FFA430 -257DA435>110 D<01FFEC3FC0B5EB3FFFA4000714016C80B3A35DA25DA26C5C6E4813E0 -6CD9C03E13FF90387FFFFC011F13F00103138030257DA435>117 -D224 D<163EED03FEEC01FF147F0107B5FC011F5C137F48B65A485D4815C0 -4802F8C7FC02C0C8FCD81FFCC9FC13F0485A5B5B90CAFC127EA2127C903801FFC0010F13 -F8D8787F13FF26F8FF807F3AFBFE003FE0B4486D7E496D7E496D7EA28249130382A31780 -A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C6CB5 -C7FC011F13FC010113C0293A7DB930>III<010FB712C0A3903B00 -7C003FF0001478AB1470A214F0A35C1301A25C1303A2495AA249C7FC5B133E5B5B485A00 -7FB812E0A301E0C8127F90C9120F007E1607007C1603A248EE01F0A3481600A5343280A4 -35>I<903803FF80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C000 -1FEC1FE05B003FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678 -121F6C6C14F86D14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113 -E025257DA42C>II<38701FFF007C -B512F0007F14FE9038E00FFFD98001138090C713C0127E007CEC7FE0A21278A2C8EAFFC0 -5C4A1300EC0FFE90383FFFF815C015F89038000FFE913803FF80020013C0A2ED7FE016F0 -A412F07E007815E015FF007C15C06C01031380261FC00F13006CB512FC000314F0C66C90 -C7FC24257EA42A>II<90390F8001F090391FE007F8496C487E017F80ECF81FA4ECF00F013F5C -ECE0076D486C5A6DB55A010314C0010091C7FCEC1FF891C9FCA4B5D8FC3FB5FCA3000390 -C713C0A25D5DA25D5D5D151E5D157C15785D4A5AA24A5A4A5AA24A5A141E143E143C5C14 -F85C5C5CA25C91C7FCA2B5D8FC3F13FFA330397EB835>II<011FB71280A3903B00F8007FE0005CB3A3EA1E01123F387F -81E0EAFFC113C3A2EBC7C0138F6CB45A6CD9001FB512806C5AEA0FF831257FA435>III<9038 -01FFC0010F13F8017F13FFD9FF807F3A03FE003FE048486D7E48486D7E48486D7EA2003F -81491303007F81A300FF1680A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A -6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC010113C029257DA430>II<9039FF01FF80B5000F13F0023F13FC9138FE -07FFDAF00113800007496C13C06C0180EB7FE091C713F0EE3FF8A2EE1FFCA3EE0FFEAA17 -FC161FA217F8163F17F06E137F6E14E06EEBFFC0DAF00313809139FC07FE0091383FFFF8 -020F13E0020390C7FC91C9FCACB512FCA42F357EA435>I<903801FFC0010F13FC017F13 -FFD9FF8013802603FE0013C048485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7 -FC12FFA9127FA27F123FED01E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E00 -6DB45A010F13F00101138023257DA42A>I<007FB612FEA301811381D87E01EB807E007C -153E0078151EA200F8151FA200F0150FA500001500B348B61280A328257EA42D>II< -ED01FEEC01FFA4EC000F1507AFDAFF87EB1FF0010F01E7EB7FFF013F90B712C09026FFE0 -7F9038E07FF00003D9801F9038801FFC48496C496C7E48486D486D7E4848701380498200 -3F19C04982007F19E0A34848EF7FF0A96C6CEFFFE0A3003F19C06D5E001F19806D5E6C6C -496C4913006C6C4C5A6C6D486D485AC6D9E07F9038E07FF0013FB812C0010F9026E7FE7F -90C7FC01000187EB1FF0DA000790C9FCAC4AB512F8A4444A7DB94B>IIII249 D<007FB512F0A301811380EA7E01127C1278A212 -F8A212F0A5000091B5FC17F017FC9238801FFEEE07FF7013807013C0A27013E0A64C13C0 -A24C13804C1300EE1FFE017F90B55A17F094C7FC33257EA439>III254 -D<49B612F8133F90B7FC00039039C007FE003807FE00120F5B121FA5120F6C7E6C7E6C13 -E06C6CB5FC131F13004913E715C74913875B491307EB1FFE14FC133FEB7FF8EBFFF04813 -E0A24813C0481380121FB500F1B512F8A32D257EA432>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fg latt1000 10 75 -/Fg 75 126 df<130EEB3F80497E3801FFF0487F000F13FE381FFBFFD87FF113C039FFC0 -7FE0EB803F38FE000F007CEB07C0007813031B0D77B42D>2 D<007FB512F0B612F8A36C -14F01D0579942C>21 D<121FEA3F80EA7FC0EAFFE0B0EA7FC0AEEA1F00C7FCA7121FEA3F -80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B3470B32C>33 D<003C131E007F137F481480 -A66C1400A6007E7FA6003E133EA3003C131E001C131C191977B32C>I<0107131C90380F -803EA8011F137EEC007CA4003FB612E0B712F8A43A003E00F800A2EB7E01017C5BA8EBFC -0301F85BA2B712F8A4003F15E03A01F007C000A30003130F01E05BA86C486CC7FC25337D -B22C>III39 D<143814FC13011303EB07F8EB0FF0EB1FC0EB3F80EB -7F0013FE485A485A5B12075B120F5B485AA2123F90C7FCA25A127EA312FE5AAC7E127EA3 -127F7EA27F121FA26C7E7F12077F12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB07F8EB -03FC130113001438164272B92C>I<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C7E -137F7F1480131F14C0130FEB07E0A214F01303A214F81301A314FC1300AC130114F8A313 -0314F0A2130714E0A2EB0FC0131F1480133F14005B13FE485A485A485A485AEA3FC0485A -48C7FC5A5A1270164279B92C>II<147014F8AF003FB612E0B712F8A4C700F8C7FCB0147025267DAB2C>II<007FB512F0B612F8A36C14F01D0579942C>I< -121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED0F80A2151F -16005D153E157E157CA215FC5D14015D14035D14075D140F5D141F92C7FC5C143EA2147E -147C14FC5C13015C13035C13075C130F5C131F91C8FC5B133EA2137E137C13FC5B12015B -12035B12075B120F5B121F90C9FCA25A123E127E127C12FC5AA2127021417BB92C>II<1307497EA2131FA2133F137F13FF5A12 -07127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C>IIII<000FB512FE4880A35D0180C8 -FCADEB83FE90389FFF8090B512E015F8819038FE03FE9038F000FF01C07F49EB3F8090C7 -121F6C15C0C8120FA2ED07E0A4123C127EB4FC150F16C0A248141F007EEC3F80007FEC7F -006C6C5B6D485A391FF80FFC6CB55A6C5C000114C06C6C90C7FCEB0FF823347CB22C>I< -121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5 -EA7FC0EA3F80EA1F000B2470A32C>58 D<1502ED0F80151F157F15FF913803FE00EC0FFC -EC1FF0EC7FE0ECFF80D903FEC7FC495AEB1FF0495AEBFF80000390C8FCEA07FCEA1FF8EA -3FE0EAFF8090C9FCA27FEA3FE0EA1FF8EA07FC6CB4FCC67FEB3FE06D7EEB07FC6D7E9038 -00FF80EC7FE0EC1FF0EC0FFCEC03FE913800FF80157F151F150FED0200212A7BAD2C>60 -D<122012F87EB4FC7FEA3FE0EA1FF8EA07FC6CB4FCC67FEB3FE06D7EEB07FC6D7E903800 -FF80EC7FE0EC1FF0EC0FFCEC03FE913800FF80157FA215FF913803FE00EC0FFCEC1FF0EC -7FE0ECFF80D903FEC7FC495AEB1FF0495AEBFF80000390C8FCEA07FCEA1FF8EA3FE0EAFF -8090C9FC12FC5A1220212A7BAD2C>62 DII<14FE497EA4497FA214EFA2130781A2 -14C7A2010F7FA314C390381F83F0A590383F01F8A490387E00FCA549137E90B512FEA348 -80A29038F8003FA34848EB1F80A4000715C049130FD87FFEEBFFFC6D5AB514FE6C15FC49 -7E27347EB32C>I<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07F01503A2 -ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0001FE0ED -07F0ED03F81501ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007FB612E016 -C0B712806CECFE0015F027337FB22C>I<02FF13700107EBE0F84913F9013F13FD4913FF -EBFF813901FE007F4848131FD807F0130F1507485A491303485A150148C7FCA25A007EEC -00F01600A212FE5AAB7E127EA3007F15F06CEC01F8A26C7EA26C6C13036D14F06C6C1307 -16E0D803FC131F6C6CEB3FC03A00FF81FF806DB512006D5B010F5B6D13F0010013802535 -7DB32C>I<007FB5FCB612C015F0816C803907E003FEEC00FFED7F80153FED1FC0ED0FE0 -A2150716F0150316F81501A4ED00FCACED01F8A3150316F0A2150716E0150FED1FC0153F -ED7F80EDFF00EC03FE007FB55AB65A5D15C06C91C7FC26337EB22C>I<007FB612F0B712 -F8A37E3903F00001A7ED00F01600A4EC01E04A7EA490B5FCA5EBF003A46E5A91C8FCA516 -3C167EA8007FB612FEB7FCA36C15FC27337EB22C>I<007FB612F8B712FCA37ED803F0C7 -FCA716781600A515F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC805C7E26 -337EB22C>I<903901FC038090390FFF87C04913EF017F13FF90B6FC4813073803FC0149 -7E4848137F4848133F49131F121F5B003F140F90C7FCA2127EED078092C7FCA212FE5AA8 -913803FFF84A13FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F120F6D137F -6C7E6C6C13FF6D5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7FC26357DB3 -2C>I<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025 -337DB22C>76 D -I<007FB512C0B612F88115FF6C15802603F00013C0153FED0FE0ED07F0A2150316F81501 -A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D15C001F0C8FCB0387FFF80 -B57EA36C5B25337EB22C>80 D<387FFFFCB67E15E015F86C803907E007FE1401EC007F6F -7E151FA26F7EA64B5AA2153F4BC7FCEC01FE140790B55A5D15E081819038E007FCEC01FE -1400157F81A8160FEE1F80A5D87FFEEB1FBFB5ECFF00815E6C486D5AC8EA01F029347EB2 -2C>82 D<90381FF80790B5EA0F804814CF000714FF5A381FF01F383FC003497E48C7FC00 -7E147F00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0EA1FFCEBFFC06C13FC00 -03EBFFC06C14F06C6C7F01077F9038007FFEEC07FF02001380153FED1FC0A2ED0FE0A200 -78140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE01FF90B55A5D00F914F0 -D8F83F13C0D8700790C7FC23357CB32C>I<007FB612FCB712FEA43AFC007E007EA70078 -153CC71400B3AF90383FFFFCA2497F6D5BA227337EB22C>I87 D<387FFFFCB512FEA314FC00FCC7FC -B3B3B3B512FC14FEA36C13FC17416FB92C>91 D<127012F8A27E127C127E123E123F7EA2 -7F120F7F12077F12037F12017F12007F137C137E133EA2133F7F80130F80130780130380 -130180130080147C147E143EA2143F8081140F81140781140381140181140081157CA215 -7E153E153F811680150FA2ED070021417BB92C>I<387FFFFCB512FEA37EC7127EB3B3B3 -387FFFFEB5FCA36C13FC17417DB92C>I<007FB6FCB71280A46C150021067B7D2C>95 -D<1338137CEA01FC1203EA07F813F0EA0FC0EA1F80A2EA3F00123E127E127CA212FC5AA3 -EAFFC013E013F013F8A2127FA2123F13F0EA1FE0EA07C00E1D72B82C>I<3801FFF00007 -13FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE13 -1F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383F -E01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>II<903803 -FFE0011F13F8017F13FE48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A12 -7EA25AA8127EA2127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C -6C6C5B011F13E0010390C7FC21247AA32C>IIIIII<1307EB1FC0A2497EA3 -6D5AA20107C7FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14 -FC1F3479B32C>I<140EEC3F80A2EC7FC0A3EC3F80A2EC0E0091C7FCA748B512804814C0 -A37EC7120FB3B3A2141F003C1480007E133FB414005CEB01FEEBFFFC6C5B5C001F5B0007 -90C7FC1A467CB32C>II<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C15 -8022337BB22C>I<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07 -FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F -13FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC90 -38F9FFFE01FB7F6CB6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5 -FCB500F11480A36C01E0140029247FA32C>II<397FF01FE039FFF8FFF801FB13FE -90B6FC6C158000019038F07FC09138801FE091380007F049EB03F85BED01FC491300A216 -FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280 -160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<903903FC -078090391FFF0FC0017F13CF48B512EF4814FF3807FE07380FF00148487E49137F484813 -3F90C7FC48141F127E150F5AA87E007E141FA26C143F7F6C6C137F6D13FF380FF0033807 -FC0F6CB6FC6C14EF6C6C138F6D130FEB07F890C7FCAD0203B5FC4A1480A36E140029367D -A32C>II<9038 -7FF8700003B512F8120F5A5A387FC00F387E00034813015AA36CEB00F0007F140013F038 -3FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00FC143F -151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC002024 -7AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC80 -0F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I<3A7FF0 -03FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15 -807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A -03E0000F80A26D131F00011500A26D5B0000143EA26D137E017C137CA2017E13FC013E5B -A2EB3F01011F5BA21483010F5BA214C701075BA214EF01035BA214FF6D90C7FCA26D5A14 -7C27247EA32C>II<3A3FFF03FFF048 -018713F8A36C010313F03A00FC007E005D90387E01F8013F5BEB1F83EC87E090380FCFC0 -903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB0FC7EC -83E090381F01F0013F7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514FE6C15 -FC140127247EA32C>I<3A7FFF01FFFCB5008113FE148314816C010113FC3A03E0000F80 -6C7E151F6D140012005D6D133E137C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2 -EB07C1ECC3E0A2EB03E3ECE7C0130114F75DEB00FFA292C7FC80A2143EA2147E147CA214 -FC5CA2EA0C01003F5BEA7F83EB87E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027 -367EA32C>I<003FB612E04815F0A4007EC7EA1FE0ED3FC0ED7F80EDFF004A5A003C495A -C7485A4A5A4A5A4A5A4A5A4AC7FCEB01FC495AEB0FF0495A495A495A49C8FC4848EB01E0 -4848EB03F0485A485A485A485A485AB7FCA46C15E024247DA32C>I<15FF02071380141F -147F91B512004913C04AC7FCEB03F85CB31307EB1FE013FF007F5BB55A49C8FC6D7E6C7F -C67F131FEB07F01303B380EB01FEECFFC06D13FF6E1380141F14070200130021417BB92C ->I<127812FCB3B3B3A9127806416DB92C>II -E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh labx1440 14.4 69 -/Fh 69 256 df<151E153E15FCEC01F8EC03F0EC07E0140FEC1FC0EC3F80EC7F005C5C49 -5A1303495AA2495A131F5C133F5C137F5C13FFA24890C7FCA25A5B1207A25B120FA3485A -A4123FA25BA2127FA65B12FFB3A3127F7FA6123FA27FA2121FA46C7EA312077FA212037F -7EA26C7FA2137F80133F80131F80130F6D7EA26D7E13016D7E8080EC3F80EC1FC0EC0FE0 -1407EC03F0EC01F8EC00FC153E151E1F7974D933>40 D<12F07E127E7E6C7E6C7E7F6C7E -6C7E6C7E7F1200137F806D7EA26D7E80130F80130780130380A26D7EA215807F15C0A214 -7F15E0A3EC3FF0A415F8A2141FA215FCA6140F15FEB3A315FC141FA615F8A2143FA215F0 -A4EC7FE0A315C014FFA215805B1500A2495AA25C13075C130F5C131F5C495AA2495A91C7 -FC13FE12015B485A485A485A5B485A48C8FC127E12F85A1F7979D933>I44 D<913803FF80023F13F8 -49B6FC010715C04901017F903A3FFC007FF8D97FF0EB1FFC49486D7E48496D7E4A7F4817 -804890C76C13C0A248486E13E0A2001F17F0A3003F17F8A249157FA2007F17FCA600FF17 -FEB3A5007F17FCA6003F17F86D15FFA3001F17F0A3000F17E06D5C6C17C0A26C6D491380 -6C17006E5B6C6D495A6D6C495AD93FFCEB7FF8903A0FFF01FFE06D90B55A010192C7FCD9 -003F13F802031380374F7BCD42>48 D<151E153E15FE1403140F147FEB07FF0003B5FCB6 -FCA3EBF87FEAFC00C7FCB3B3B3A6007FB712FCA52E4E76CD42>II<913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0 -007F01FEC7EA3FFE48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B -6C90C75AD80038168090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC9138 -7FFFF816C016FCEEFF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F070 -13F8A218FC82A218FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0 -495C4916E0D83FE04A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C -90B65A6C6C15E0010F92C7FC010114FCD9001F1380374F7BCD42>I<17FC1601A2160316 -07160FA2161F163F167FA216FF5D5DA25D5D5D167F153E157E15FC15F8EC01F01403EC07 -E015C0EC0F80141FEC3F00143E5C14FC495A5C495A1307495A5C49C7FC5B137E137C5B12 -01485A5B485A120F485A90C8FC123E127E5ABA1280A5C901FCC7FCAF021FB71280A5394F -7CCE42>I<486C150601F0153E01FEEC01FED9FFF0133F91B65A5F5F5F5F5F94C7FC16FC -5E16E093C8FC15FC01F0138091CAFCAC913807FF80023F13F891B512FE01F36E7E9026FF -FC0113E09139E0007FF891C76C7E496E7E01F86E7E5B7013804916C0C9FC18E08218F0A4 -18F8A31203EA0FE0EA3FF8487EA212FF7FA218F0A25B5E6C4816E05B01C016C06CC85A18 -806C6C4A13007FD80FF04A5A6C6CECFFFCD803FE4913F02701FFE00F5B6C6CB612806D92 -C7FC010F14F8010114C09026003FFCC8FC354F7ACD42>II<121F7F -7FEBFF8091B8FCA45A18FE18FC18F818F0A218E018C018804817000180C8123E007EC912 -7E5F007C4B5A4C5A5F16074C5A484B5A4CC7FC167E167CC912FC4B5A4B5AA24B5A150F4B -5AA24B5AA24BC8FC5DA25C5D1403A214075D140FA3141FA2143FA34A5AA414FFA65BAB6D -5B6E5A6E5A6E5A385279D042>I<913803FFC0023F13FC49B67E010715E090260FFC0013 -F8D93FE0EB1FFCD97F80EB07FE49C76C7E496E1380484880000317C049157F120718E017 -3F120FA27FA27F7F6E147F02E015C08002FC14FF6C01FF15806F481300EDE0036C9138F8 -07FE6F485A6C9138FF1FF06CEDFFE017806D4AC7FC7F010F6E7E6D81010115F06D810103 -15FE010F81D93FF71580D97FC115C02701FF807F14E048EB001F48486D14F04848010314 -F848481300496E13FC003F151F491407007F6F13FE491400177F00FF163F49151F170F17 -07A21703A218FCA27F127F6DED07F8A26C6CED0FF07F6C6CED1FE06C6CED3FC06C6CEDFF -806C01C0010313006C01FCEB3FFE6C6CB612F8011F15E001071580010002FCC7FC020F13 -C0374F7BCD42>I<913807FF80027F13F849B512FE01076E7E90261FFE0113E0903A7FF8 -003FF049486D7E48496D7E48496D7E484980486F138091C7FC486F13C05A18E0485A18F0 -A27013F812FFA318FCA618FEA35E127FA4003F5DA26C7E5E7E6C6D5B161E6C7F6C6D5B6C -6C6C13F890393FFC03F06DB55A01074A13FC01001400EC1FF891C8FCA218F85EA301FC16 -F0487E2607FF8015E05E486D15C0A24C1380A24C13005F4A131F6C4B5A49C7485A494A5A -6C48495B6D01075B2701FF803F90C7FC6C90B512FC013F5C6D14C0010791C8FC9038007F -F0374F7BCD42>I69 -D72 DI76 -D97 -D<913803FFE0023F13FE91B67E010315E0010F9038003FF8D93FFCEB07FC4948497E4948 -131F4849497E485B485BA24890C7FC5A5B003F6F5A705A705A007F92C8FC5BA312FFAD12 -7F7FA3123F7F6CEE0F80A26C6D141F18006C6D5C6C6D143E6C6D147E6C6D5C6D6C495A6D -B4EB07F0010F9038C01FE06D90B5128001014AC7FCD9003F13F80203138031387CB63A> -99 D102 D<133FEBFFC0487F487FA2487FA66C5BA26C5B -6C5B013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612F0A51C547CD324>105 -D109 DI<913801FFC0023F13FE91B67E010315 -E0010F018013F8903A3FFC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F -4883488349153F001F83A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D -153FA2001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB -1FFE6DB46CB45A010790B512F0010115C0D9003F49C8FC020313E039387CB642>II<903903FFC00E -011FEBFC1E90B6127E000315FE3907FE003FD80FF0130F4848130348481301491300127F -90C8127EA248153EA27FA27F01F091C7FC13FCEBFF806C13FEECFFF06C14FE6F7E6C15E0 -6C816C15FC6C81C681133F010F15801301D9000F14C0EC003F030713E0150100F880167F -6C153FA2161F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03FE9039FF801FFC486C -B512F0D8F81F14C0D8F00791C7FC39E0007FF02B387CB634>115 -D193 DI< -0038EC3FFF003C0107B512F8003F013FECFF806DB712E001E316F801F7D9C00713FED9FF -FCC77F02E0023F7F02806E13E091C87E01FC6F7F496F7F496F7F5B717F5BA249838490CA -FCA3123EA395B5FCCB5BA24D5BA24D5B614D5B4D5B4D5B4D48C7FCEFFFF8040713E0020F -B612804A02FCC8FC5FEFFF8091C7001F13F0040013FE94381FFF80050713E0717F717F71 -13FE727E841A807213C0A21AE0841AF0A312F8A57E007C19E0A2007E5F1AC06C5F1A806C -6C5E6D93B512006C6C4B5B6C6C4B5BD803FC4B5B6CB44B5B6C01E0027F13C06DB40103B5 -5A011F90B648C7FC010716F8010116C0D9003F4AC8FC0200148044547AD250>199 -DI202 D204 DI<93381FFF800303B512FC033FECFFC092B712F002 -07D9F80113FE021F903A80001FFF804A48C700077FDAFFF8020113F049496E7F4901C0ED -3FFC49496F7E4990C96C7E4948707F013F854948707F4948707F48864A8248864A177F48 -864849717EA3481B804A83481BC0A44890CB6C13E0A5B51AF0AF6C1BE06E5FA46C1BC0A2 -6E5F6C1B80A36C6D4D1300A26C6D4D5AA26C626C6D4C5B6E5E6C626D6C4C5B6E5E6D6D4B -5B6D6D4B5B6D6D4B90C7FC6D6D4B5A01016D4A13F86D01FE02075B91263FFFC0013F13C0 -6ED9F801B55A020790B648C8FC020116F8DA003F15C003074AC9FCDB001F1380545479D2 -63>II< -B912FCF0FFE019FE737E1AE0D8000F01E0C7003F7F060313FC06007F737E7313807313C0 -7313E0851BF0A21BF885A21BFCA91BF8A3611BF0A21BE04F13C0614F13804F13004F5A06 -0713F8063F5B92B812C097C7FC19F8198003E0CBFCB3AEB712FEA54E527CD15A>I<9326 -03FFF01407047F01FF140F0307B600E0131F033F03F8133F92B700FE137F02039126C003 -FF13FF020F01F8C7EA3FC1023F01C0EC0FE391B5C80003B5FC4901FC814949814901E082 -011F498249498292CA7E4948834948835A4A83485B4885A24849187FA2485B1B3FA2485B -1B1FA25AA21B0091CDFCA2B5FCAE7EA280A36C1A1FA36C7FA21B3F6C7F1B3E6C7F1B7E6C -6D187C6C1AFC6E18F86C19016D6CEF03F06D7E6FEE07E06D6DEE0FC001076DEE1F806D01 -F8EE3F006D6D16FE6D01FF4B5A023F01C0EC07F8020F01FCEC3FF00203903AFFC001FFC0 -020091B6C7FC033F15FC030715F0DB007F1480040301F0C8FC505479D25F>I<003FBB12 -FEA59126C0007FEB000101FCC7ED001FD87FF0F007FF49844984498490C883A2007E86A3 -007C86A500FC1B80481A0FA6C994C7FCB3B3AD49B912C0A551527BD15C>II<92B812FCA592C701FCCAFCA74BB612FE -92B812FC020FEFFFC0027F18F849B500E0D9FC1F13FE010FD9FC000200EBFFC04901E004 -1F7F017F0180040713F84948C703017F4849717F4849727E484972138048497213C0A248 -497213E0A248497213F0A2481CF8A291C882A2B51BFCAB6C1CF8A26E60A26C1CF0A26C6D -4E13E0A26C6D4E13C0A26C6D4E13806C6D4E13006C6D4E5A6C6D4D5B6D6C6C04075B011F -01E0041F13E06D01FC93B55A0101D9FFE0021F49C7FC6D6C90B812F8020F18C0020005FC -C8FC03014BC9FC92C701FCCAFCAA92B812FCA55E5279D16D>I224 D<18FC170F17FF163F030FB5 -FC4AB6FC021F5D91B7FC01035E130F495E49168090B8C7FC17F04803E0C8FC4802C0C9FC -4801F8CAFC14E048138049CBFC5B485A5B5B123F5B5BA23A7F0001FFC0023F13FE91B67E -D87E0315E0010F018013F8903A3FFC001FFE267C7FF0EB07FF49486D7F00FD496D7FB548 -6D7F91C8127F848449153F84A28449151FA284A41980AC007F1800A3003F5F6D153FA200 -1F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6DB4 -6CB45A010790B512F0010115C0D9003F49C8FC020313E039547CD242>II -I<91B912F8A4DA00FCC7EBF8005DAE5DA21401A55D1403A35D1407A34A5AA24AC8FCA25C -143E5CA25C1301495A495A495AEB3F8049C9FC003FBA12FCA491CAFC01F8171FD87FE0EF -07FE49170349170190CCFC1A7E127EA2007C193EA400FC193F48191FA5484880B449>I< -913807FF80027F13F849B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49 -486D7E4849130F48496D7E48824890C77E1880485A82003F17C0A3485A18E082A212FFA2 -90B8FCA401FCCAFCA6127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F -6C6DEC3F006C6D147ED97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D02 -3F01FCC7FC020113E033387CB63C>I<001FB50103B600E090387FFFFCA426007FFCD900 -0301E0C7001F90C7FCD90FF8F10FF8D903FCF11FE06D6C4F5A6D6C4F5ADA7FC04D48C8FC -DA1FE0EF03FC6E6C4D5ADA07FCEF1FF0DA01FEEF3FC06E6C4D5ADB7F804CC9FCDB1FE0ED -03FCDB0FF04B5ADB07F84B5ADB03FEED3FE004FF157F4B01834A7E4B01E301E37F4B01F3 -01E77F4B01FB01EF7F94B7FC4B834B486C023F7F4A496C496C7F4AD9F80FD9F80F7F4C6C -497E4A6E01E0804A01E06F7F4A01C06F7F4A01806F7F0400167F4A854A48717F4949717F -4949717F4949717FA24949717F4949717F4949717F4990C7717EA24948737F00036D4F13 -E0B6D8E003B6D8E003B61280A469357EB46E>I<0070EBFFFED87C0FEBFFF0D87E3F14FE -007FB77EDA801F13E09026F800037F4901007F01C06E7E5B707E90C8FC007E6F7EA3127C -A2C9FC4C5AA24C5A5F4B485A4B13C0030F5B49B500FCC7FC4914F0A216FE90C7381FFFC0 -03037F030013F8707E707E707EA2701380A218C0A412F8A36C1780007C5D007E17005E6C -4B5A6C6C4A5A01E001035BD80FFE011F5B0003B712C0C693C7FC013F14F8010391C8FC32 -387DB63A>II<023E141FDAFF80EB7FC0496D497E496D487FA2496D487FA54B7E -6D5E4B7E6D496D5AA26D90B65A023F92C8FC6E5C020714F8020114E09126001FFEC9FC92 -CBFCA4B6D8F807B612C0A4C601F8C70007EBC000A25F5FA25F5FA294B5FCEE01F7A2EE03 -E7EE07C7A2EE0F87EE1F07163F163E167C16FC16F8ED01F0150316E0ED07C0150F1680ED -1F005D153E5D5DA2ECF9F0ECFBE0A2ECFFC05DA292C7FC5CA25C5CA2B6D8F807B612C0A4 -424E7DCD49>II<0103B9 -12E0A490280003F00003EBE0005DB3A914075DA4EA0F80EA1FC0383FE00FEA7FF0D8FFF8 -5BA2141FA292C7FC5CEBF07E387FE0FED9FFFC0103B612E06C5B6C5B6C5B0003018090CA -FCD80030CCFC43377EB449>III<913801FFC0023F13FE91B67E010315E0010F018013F8903A3F -FC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F4883488349153F001F83 -A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2001F5FA26C6C4B -5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6DB46CB45A010790 -B512F0010115C0D9003F49C8FC020313E039387CB642>III<913803FFE0023F13FE91B67E010315E0010F903800 -3FF8D93FFCEB07FC4948497E4948131F4849497E485B485BA24890C7FC5A5B003F6F5A70 -5A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE0F80A26C6D141F18006C6D5C6C6D -143E6C6D147E6C6D5C6D6C495A6DB4EB07F0010F9038C01FE06D90B5128001014AC7FCD9 -003F13F80203138031387CB63A>I<007FB812FCA4D9F807EBC03F01C015070180150301 -001501007E1600A2007C177C00FC177EA348173EA7C71600B3AA017FB612FCA437357DB4 -3E>IIIIIIII251 DI<4AB712FE147F0103B8FC -130F013F903AC0003FFE004948C7FCEBFFF8485B5A5C5AA67E807E807EEB7FFE90381FFF -C0010790B6FC1301EB001F1401EEFC3F4A13F85C4A13F016E04A13C05C4A1380160091B5 -FC495B495B5D5B495B495BA2495B495B90B5C7FC5A1207B6D8F83FB512FEA43F357EB445 ->255 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fi larm1000 10 86 -/Fi 86 256 df<486C1360000314E039070001C0000EEB038048EB070000181306003813 -0E0030130C0070131C00601318A200E01338481330A400CEEB338039FF803FE001C013F0 -A3007F131FA2393F800FE0390E0003801C1981B91C>16 D<001C1307007FEB1FC039FF80 -3FE0A201C013F0A3007F131F001CEB073000001300A400011470491360A2000314E090C7 -12C048130100061480000E130348EB070048130E485B006013181C1980B91C>I21 D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485AA2 -12075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F12077F -1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>40 -D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7F -A21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A2 -5BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C127FEAFF80A213C0 -A3127F121C1200A412011380A2120313005A1206120E5A5A5A12600A19798817>44 -DI<121C127FEAFF80A5EA7F00121C0909798817>I<1506A2150E -150CA2151C151815381530A215701560A215E015C0A214011580A2140315005C1406A214 -0E140CA2141C1418A214381430A21470146014E05CA213015CA2130391C7FCA25B1306A2 -130E130C131C1318A213381330A213701360A213E05BA212015B120390C8FCA25A1206A2 -120E120CA2121C1218A21238123012701260A212E05AA21F537BBD2A>I49 -DII<1538A2157815F8A214011403 -1407A2140F141F141B14331473146314C313011483EB030313071306130C131C13181330 -1370136013C01201EA038013005A120E120C5A123812305A12E0B712F8A3C73803F800AA -4A7E0103B512F8A325387EB72A>I<0006140CD80780133C9038F003F890B5FC5D5D1580 -92C7FC14FC38067FE090C9FCAAEB07F8EB1FFE9038780F809038E007E03907C003F0496C -7E130000066D7E81C8FC8181A21680A4121C127F5A7FA390C713005D12FC00605C12704A -5A6C5C6C1303001E495A6C6C485A3907E03F800001B5C7FC38007FFCEB1FE021397CB62A ->II57 -D<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317> -I68 -DI71 DI76 DII85 -D<007FB590383FFFFCA3C601F801071380D97FE0D903FCC7FC013FEC01F06D6C5C5F6D6C -5C6D6C13034CC8FC6D6C1306160E6D6C5B6DEB8018163891387FC0306E6C5A16E06E6C5A -91380FF18015FB6EB4C9FC5D14036E7EA26E7F6F7EA24B7E15DF9138019FF09138038FF8 -150F91380607FC91380E03FE140C4A6C7EEC38000230804A6D7E14E04A6D7E49486D7E13 -0391C76C7E01066E7E130E010C6E7E011C1401013C8101FE822607FF80010713E0B500E0 -013FEBFF80A339397EB83E>88 D97 D99 DII<147E903803FF80 -90380FC1E0EB1F8790383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7 -FCB3AB487E387FFFF8A31C3B7FBA19>II105 D108 D<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903B -F1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3 -495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445>I111 -D<3903F01FE000FFEB7FF89038F1E07E9039F3801F803A0FF7000FC0D803FEEB07E049EB -03F04914F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB -0FE001F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328 -357EA42E>II<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE -9038EC03E09038FC0080491300A45BB3A2487EB512F0A31C257EA421>II<1318A51338A31378A313 -F8120112031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580EB7C03017E1300 -6D5AEB0FFEEB01F81A347FB220>II120 DI194 D<0103B812F8A3903C0003C0000FFC006E486D5AAD92 -C7FC5CA81406A55CA45CA35CA35CA25CA2495A130391C8FC1306130E5B5B137801F84B7E -003FB912FCA301E0C9120790CBFC007C183E0078181EA20070180EA200601806A400E018 -07481803A4404980B841>196 DI<0060EBFFC0D8700F13F8D8783F13FE3A7C7F00FF80D87FF0EB3FC001C06D7E -496D7E90C76C7E007E81007C6E7E12781501007081A41260A3C85B15035E15075E4B5A4B -5AED3F8003FEC7FC903807FFF85B90380001FF9138003FC0ED0FF06F7E6F7E6F7E6F7E17 -80EE7FC0A2EE3FE0A212C0A57E0060ED7FC0A2007016806C15FF4B13006C5D6C4A5A6C6C -EB0FF8D803E0495AD801FEEBFFC0D8007FB5C7FC011F13FC010113C02B3D7CBA33>199 -D202 D205 DII<913A01FF800180020FEBE003027F13F8903A01FF807E07 -903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F12014848 -151F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED01 -80A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5C -D91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F0020113 -80313D7BBA3C>209 D<49B612E0A3D9000101E0C8FC9138007F80A491381FFFFE0103B6 -12F0903A1FFC7F8FFED97FC0903880FF802601FF00EC3FE0D803FCED0FF048486F7E4848 -6F7E48486F7EA248486F7EA2007F188049167FA200FF18C0A9007F1880A26D16FF003F18 -00A26C6C4B5AA26C6C4B5A6C6C4B5A6C6C4B5A6CB4ED3FE026007FC0ECFF80D91FFCD98F -FEC7FC0103B612F0D9001F49C8FC9138007F80A6913801FFE049B612E0A33A397BB845> -212 D224 D<16C01507153FEC07FF027F13800103B51200010F13FC013F -13F0D9FFFEC7FC4813C0D803FCC8FCEA07F0EA0FC05B48C9FC121E5AA212381278387003 -FE90380FFF8090383E03E03960F800F8D861F0137CD8E3E07FD8E7C07FD8EF80EB0F8000 -DF15C090C71207B415E0A248EC03F0A416F8A9007E15F0A2007F14076C15E0A26C6CEB0F -C0000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090381FFFC0D903FEC7FC -253B7EB92A>III<013FB612E0A2903A01E003FC006D486C -5AAC14801301A5EB0300A31306A35B131C13185B13F0485A00074A7E007FB712F0A290C8 -1207007C15010070ED0070A20060163000E01638A3481618A52D3180A32E>II< -D83FFF90B538C03FFFA2D807FE903A07F8001FF8D801FC6D48EB0FE0D8007C1780011E04 -1EC7FC6D5ED907805DD901C015E0D900E04A5A02704A5A023C020FC8FC020E141C020F14 -3CDA1F83137E91393FE3F1FFEDF3F3913A7F3BF73F80913AFE1FFE1FC049486C486C7EED -03F0D903F86E7ED907F06E7ED90FE06E7EA2D91FC06E7ED93F80157FD97F006F7E017E16 -1F01FE834848707E000384000784000F4A6C80B590B539C03FFFC0A242247FA345>I<38 -C07FF000E3B5FC39FF803FC039FC000FE048EB03F04814F848130115FC5AA2C7FCA215F8 -EC03F0EC07E0EC0FC0EC3F00EB7FF8809038003F80EC0FE0EC03F0EC01F815FC140015FE -A312C0A315FC6C1301006014F80070EB03F0003CEB0FE0000FEB3FC00003B51200C613F0 -1F277EA525>II<011E133C017F137F6E5A01FF80A46D48 -6CC7FC013E133E90381FFFFC010713F00100138091C9FCA4B500C1B51280A23B07F8000F -F0006C486D5AA4150F151F153F157715E715C71401EC0387EC0707140E140C1418143814 -7014E0EBF1C0148013F3EBF70013FE5B5B5BA4486C497EB500C1B51280A229347EB32E> -II<90B712C0A2903A03C0 -07F8006D486C5AAF13031400A65B13061238127C12FE130E130C131CD8F818497ED87038 -90B512C0EA3FF0D81FC090C8FC2A257FA32E>IIIII<3903F01F -E000FFEB7FF89038F1E07E9039F3801F803A0FF7000FC0D803FEEB07E049EB03F04914F8 -49130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614 -C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E> -II<00 -7FB612E0A2397E03FC07397801F8010070140000601560A200E01570A200C01530A50000 -1500B3EB07FE0003B512FCA224247EA329>I -I<153FEC0FFFA31400153FB0D903F8EB07F0D90FFEEB1FFC903B7F07BF783F80903BFC01 -FFE00FC048486C496C7ED807F090397F8003F848486F7E496DC7FC001F834848167FA248 -C7ED3F80A300FEEF1FC0AA007FEF3F80A36C6CEE7F00A26C6C16FE000F5F6D90387F8001 -6C6C496C485AD801F8ED07E06C6C486D485A903B7F07BF783F8090280FFE3F1FFCC7FCD9 -03F8EB07F090C790C9FCAB4B7E91380FFFFCA33A4A7DB941>IIIIII<007FB5FCA2387E03FC387801F812701260A212E0A212C0A5120091B512E0 -16FC9138F800FFEE3F80EE1FC0EE0FE0EE07F0A2EE03F8A5EE07F0A2EE0FE0EE1FC0EE3F -80496CEBFF00017FB512FC16E02D247EA333>IIIII<49B61280131F903A7F00 -0FF00001FC6D5A485A485A1207A512037F1201EA00FEEB3F80010FB5FC1300ECFE0714FC -EB01F8EB03F0130714E0EB0FC0EB1F80133FEB7F00137E13FE485A485A1207001F4A7EB5 -48B51280A229247FA32D>I E -%EndDVIPSBitmapFont -end +%%BeginFont: SFTI1000 +%!FontType1-1.0: SFTI1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecti1000, tcti1000, lati1000, lbti1000, lcti1000, rxti1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Italic) def +/FamilyName (Computer Modern) def +/ItalicAngle -14.04 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFTI1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-95 -321 1415 932}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747 +57609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9 +3894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4 +41C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E +ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F +BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0 +C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508 +2666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C +9A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215 +EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1D9658B03F6CA8 +B946CC6A042A9252DC769230F3BD7E28F4F053048B53BD212C59DA9014DC7AE0 +EC0B3CDA53F5E7841151CA72391E3A10D7516363D380459F088D76B89C3EF169 +B03C4766CA4B85355DB143022F211836E5D6305B246CFBE9FAA7BBC54FFF001A +2DB17495F48D6E54B6FA8A07F235DDB3A77888969BBDAE1805687208571A3504 +BB3369B5BA66993CB4F6637C6D78C2049B479579C840FD79266C063FC5C3E202 +CAD886763ACC659E21F8BD2E4BC8C80B3E38FECFD3B86DAFB461ED9E7E1A0A14 +95DEDF3EAF23A3841911D45492010C1EAB95BBD126557690A998052D72DBCE88 +490275B598CA2074F6F567E9FE9BF00422E28353DFB841E0E3C0022F349A558F +2BB17A2A6F7BDD8B6348996C73F5B17C75A64BDC52975EE709A13A78235AD9A8 +9D879EFBF0D6F37860D59ABC08F10D3367C5B7DAB76C265E687CE3B6352AD978 +9127D2DFFDC37BA11A4FD123BF2090C3A371D2D4BDA1683B0CDC42D90BFB853D +612B9764DA9E47D93BF2AD5A3AAA6CC25DDA316BF4B8A357E0BD8DBFD359041C +E30E763D97D07A2599B250E855837276A91317E68C073482D86B13EBD8AC1FB0 +84361E47E0529F4EE7ECF91C20AF7F8F0F3C50D555F0CE868F575CA4887169E9 +31886F602E3FC3ECE4C8C2A44F2756FCEF03AF7CC9DB3DFBCDF90E884AE2A1DF +7BACC3A3E210B235B7F548E43221D2B5492C8C2742F7E10B6AC4B028E2534A7C +B78CF6A4CABE55C1E5B193BA5A18C3CB83D520B4C370BA1F63FFABB2ACBC287D +AD13AEDEAFE9598B4393F13501807A827B6662A8AA22453875D179A3C519F5E0 +68809F9BADE016976113E3EC1E77C9D623DB208F4458A01D03FA3098878D8D6E +412F0E04466246A5C288DD481826334369F5B4853C7062D03CFA88A1DA6F6F50 +5CA0AF78EA1391B469859B00A7B0820096920ED9B916947493B04A964D732DC5 +F4084084A521945E1E080B0C9434404BF60D673AC6AC600FC03200B0EEEE8E1E +3138731AA734976342C0D7B4BCABC4A5526F66B4367215A14348C871E99BC247 +C7777A033F4A061B524B2B97D839C5CA258F772B60076B1FA827241F6AA77817 +DA31C00366C28046CB4A25F352611FE6FAEFADF138942E75D2BC26E84BAF5EC7 +E9A027D006A71F6165D6BA6C48B28A43277474966DCF750A6B28557C121308E5 +5D30AD9647EE836E7FEF2A6ED048289E359C54E9010A912ADD3BA1731919AFF2 +5C0E3D258B2D0132A4E068D1B3E46C78359A538D3F491EDAAC90F6C2EC51CAE9 +8971C101698A4D1DC0570D7F6C476707543F829126E86C981B1ABF777B11464F +13541B83DF22AEA6E178D5B630BCA75AF6C3954A58E620D561DE09809FB5AC47 +8F2E52FB517C878F1E7C9B0DF328C1284E4B259EBE17E067DC85486F43A5BF90 +F745659E1138A3DC9E486D4E8E040FB096D06A3FAF7C41FBE2C4749AB79EAAFA +A7490F5819E5AA671664772FF9981427AA7B9146CBF9F15521CEA6580851BD4E +642A4D1B0CFAC76C11AD5E3FB277FC745DAFCBBDB74C8CEEA8B64C7D8C3F99C5 +2B31B8590E76E4852F907802E624888AA3B545837B730AB4F5332D80C9E5B717 +12EC51B7ACE615B2B6F59CE6F11158F191CAA801ACD47CD16A19541272BFA69A +22C76302E47C25720D76B5CA6F55229C7436A0077B2EB8CDE617BF3E94A4327A +497A4E63244DE2E03A09A9FD459F6FBD5975E3CD0F4FDB90F2AEA7197E6D7685 +339221906C6F4ABAA86C60E5D1B682D98C99E38B0CFB140C1A8DA85A30FA6C8E +B90E8CD4B1B28B1193A9D86770164CEEEE38D7F23A84AD292F2AA9391866DC5F +E396C113B45485013DEF503E52442DC0D8BD0EB8DED6B7F93ED35538EA4D574B +5CFB96FC252707566F1E75D597AF192AFA801A097137A3C06457D8F1D82C084C +821BC367059E01E3EEE319902CD31BDF01CB939FE771F881F7FE31A4F18310B0 +820959855E9387EFD7AD553DFC13377E1A883568C7B98C4BE2651D1DBFA54667 +0BB0F545C53C146A467A2B1FE385E2F67117502589946B6CCD857646A77A99BA +356ADFF1FEF6F14DEED94625B0198777868BBC8E0539C7748BB7531E32995D3F +FD777D555B22CF936A844FF05750A856764ADC18854135BF8A74C56DFE1DC0F2 +29CDEF162FD7456EFD747DD6665600A4464C388256C0689EA93891C6F7E80F7B +8CA32EA57782592F15D28B49C5D78D509F6F6595F7435BC8AED00CC85086B55A +554D41378C0DBD9B4A5F59DA78CF4A345D495A7649FBB5C703BE9B12BAB4F088 +9980C4AADBE25C90D7096250DFE5F439639F339043DD02D1E7E91BB698E8712D +8D19CC888119EFC8D97C8B44F79C286288A1FD2251AFFA1A1729F12EE46D7546 +D91B7F0C2EF2318FBACF5F30AF2D23EBF2E564166A0FD31EB9C8E9E48CED8475 +882B9AFA057BCACEC4D91D6861625F254D66F6FC279902ABB867B3CD62F1135E +58FB7EAD2A047AD848A7363862C3B863D3C871DE8112D4A642C7461ED8C2AD3A +F0293FC8ED1C9996 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFBX1000 +%!FontType1-1.0: SFBX1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecbx1000, tcbx1000, labx1000, lbbx1000, lcbx1000, rxbx1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /SFBX1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-229 -316 1737 939}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747 +57609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9 +3894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4 +41C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E +ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F +BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0 +C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508 +2666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C +9A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215 +EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1D9F9A167BC064 +00BECB75078C40B8FE29E6169F9CA9EAD3C8CC4B31F33E66B30F4CA5F0F743EF +DC2B1859C37C4291C5D64419125B705ADDB0C085612F09D6AC7DC4CE8B35EBC8 +1CE8C5F6B0F8EF41A213445DA7BD05638DF2ED81B404B2C3CAB5F51C2A4263CD +B74F54D38C2B4C86A0D6E76212B7BEDF7FAE6334339A8A249C1AF2A51EF48DF3 +0FF609A25A0FA1EDCFE4A5DE9F3BD59C2DF4BC1D50B4BC3341CE01EB8BD39743 +8E79DAF3EC0D27ADDC68BD517E4225CF4C78D8A72E0683D6BC285C21EB4084CE +E8B4A08A05BF8EDE3D97CCEC74C9E9CB21D7A52D5F7CC453D2240D8168F765D3 +F7ADD78BC19857C2383EBE7036C9E7DD0883919C1649EE0B35396BB484568F68 +18EBFF229ED655CBB00D1D31F80BE718631475170BDC146470623E7F43790F3E +7E638F184A19FA7C41FB65C57F943116D297C764A50F6B2BA83E9DF429D8E4CC +2F9564E06F04E59567342AF2B1DE89B1A0960CD69C89E13E08C1063FC92078E1 +22523E41B1BC8519EFAAD6DCE266E951DEACD1EE1AB160F414C2BE609D0D902C +A8C73258346B52B14D43C252C9A3E7DA8EBF491EC59E07AF64E71172286098BA +3ED1AA95CDCF1B2D5E8CB973130E8C0188F9951C62F04404166720C341B35EDB +458654159220AD7BE5F195D5D1243B062CCDDB60BA4124D5F9BB1FB1585EE99F +D49D0BF36808DE251352DF811E9F039C1267B2FF5415DC581FAD73549E22E4F8 +0F05C1A852615B62AEF4155A50A03B5D6AD11645F38AB4EABF4E9F1245797ECF +DBEEB8A77D41960A13E886B36C8712E36D1C8D801BC81F3A92E9B9592E3C8F41 +66A6597472295C1A0F09781A22DCC8B8EA7B18FAF763F5BC9AA0B9676C4D3014 +05160F9B3B8FF7CE836FBE0F4C2A9D0DF3B6F3A3CC2CC70A2B10D3194194A4D7 +91F756E98E254A060C183C0FB485F0CBB97C471EB8B35536EEEA92E15404468F +F6A49FC7F0377F86B0E3DA3B83396DEAFC24FFC850E62EE33AC73EF5BF683D9A +332101D526C505AF1EDABF95E5BE758D2EB86322E992998AE060FB7403020E8C +BC71BF2164719CE2534E467DB93146EC76A522D02D32DCE37E9DFC2029CB2787 +20165615BB48132E0390C70E727962F446E9C589F052ECE51D1F3D2B48DCEAD8 +152BF74D5579B5A41C0A3D72F582C0BBEA7AEF0C210277AE0937E0D3C3425402 +77D26CC23934FB5CAA3D39A47EBE6BD5E3C4F6E4632F3D26725AF65FA8A79B5C +062C6CE5331219D3DB3DC54EE1EE6149F64F24049536EC80F2EA982104A9F80E +163B9464FA8F9A8F8FB04C9D0570259653C198D0616D77CFDCED41C91EDEBCCC +B299020527C9AE75AB220FF02ABC6F0AAE5F86D21C91800124336EBBD8289D0E +9A984A2C7920EBB2722067BA36A6F3AD360A8CC682D8612B8C468B6249A951CD +1AB6EACA1812BAB103BF99520448091D3187C8F9848D28E81242F2AA8C2A0EE0 +197FC501948A2F1E38D20B0C9A9C9873D4D6C551C870F2AD1C5FC479243BCBE2 +F0B5980980893DC68CFA0967A1F43D482CDF7EF767F8D869945B938C3DAF7520 +859209EAC736C703DA63FD0AC9E9F69B87DF1F84EFCB2997C5DB837A3A55ED7C +81B805FB95FB63AA3986D0FE5DCBA28CD7E94393452EC6876E901F2B3EADF02F +9C151E481AB18A39F7865FE0C33632490186FE8FABD0B28E0E1210793D00DB52 +40475705766CFEE36331C606B6A2107D6A48A8E0536E58C703FBE92C089C5574 +832207126FF29BC538452B9CA27973FF22A0D0A42FF0579CA53CDC9A3FCB8E51 +767F35D50073E17CDEEAE4A7F0959FFA480FF4A42B0C0E056593AEA52D3575DA +03DEDBC37B6E851DF1C389B1675ED8953E25AD53FEDC27FA986E5ED3585B4D9D +4BDBBC980E5BADA5784B94F5F0D320CC36B4125B2AFFB93523D9F15DF7FD8C17 +AE5C262337855AC2256A1F88C666D89289FA3EDB6AF6846262DA782903707483 +11C9CB87BA94275392766C0420610DBA35BE10A214F78F51E932E96201932071 +393EDE1269C402F737EC89A37A2BAC8A56474AD6EEC15BF22EA3718F127D165B +E6CB131EA68FA9F717F9D071D3C018B7321E63AA935B8626B683087751257E47 +D26E7AB250DE4A57B781D221C2E0C92CFF820CBAFCE2B2BB02924BE9E803A1F4 +E8CC696F5911BFEF3BE6E1025401A52997D43ADB30816C67D3E4137E2A444E89 +93B9C48680054245EB5498557F6A083C41506866793BD01D1049072AB4CE4775 +C2952BEA2FCFBC8BCCF95A937AD3BAFD9547DFBC86EB8EB27522EF0EDBC599AA +A09B236EAF9B48F5D366083E1E62D73A8A2F03F06BE539108CE3D7D6FDEAB359 +4E3B700F63A024D9A28646BD2778EDD7D7FBE6BCC0DDA25AD823EAEB81855292 +A77C4348F534CF6EC42AE08F9109D02CE66AB3DFD317C62A3DA4E58BD27EC19C +8D31C93A7047AA549D061FAF49EF1BEAB02D0ED88C388C055D3F67A2984AB0CB +15C1E3AEAFE213A2A6444AEB5EB47B2AE56319ABEC36DF0CF09FC63635387137 +F29D045F71BE529B96547A3AB2A9B42CAF3BC022AF92AB2D13A00167F4448962 +4F7D7045B69A39F2CD165C1C02EED17F9C23C6825C1BBD64429B42AA0E812EFB +5C64A45C9BDF83822F2CDBDAAE8A14B95868CFE747F700D5F4A778E8CE1BA6B9 +16B884A94C0B781D76E12A4496F04A93EDB7B6F041EB7D8BAB60F40809A1C563 +F00FB88D12C683D583639404958D708826E752C197F861A659E8251E5D7E34AC +430E1E2A35E4D405EF5506E704FE9646D327DA01637CEEE4F0A67D901A1D503D +6BF751CE7A783161342DFD0C1BE92E4EAA56A06C320B96A8CCB587B77E53A34D +B9AC1F2149B2D60169538D2A3932A06DD26EB6D15E65ECC5BFEEBEE7573D31F8 +E6DE1904EB35AD47AC9926A4E0DC847085CE787BBD813C15DA6BE2D42186EAC7 +93193AEE3A19AAEB1AD63991615A2F1C12F052EC3919FB92DBE1EDF020EE0461 +8B1C6F2780C6DDF4F26C1B143FF92C2644D45E4FF7148E5ED8DAB1355C50F246 +011C107F3E02689A186C8F15DDE7B3A9E18999CCFD551D3AEDEC14E81AE0336B +C012FD2E2BCBE4FB941D2BD6A3048172E176552EEE18CE2997C90C883A0A78EA +E913E04ED663EF2C63EA5CB9517AEA8268E3FCF67EA5E3C0CE42CD0E5D8CBAEA +2E083B0C396418447177FD548D2F87DEA7AD54F0A56D5902AFA79AD535A6A202 +F2052982D388DB7A0B4AB918A12C026CA39F58608A0360F9E92CE707E362648C +A69430AC00F3BAF2B8F2B50DC3B4359F2B3F7356BB8922EEA4D008B69D9F941B +A80871AB1512FFF6D54DC35284340CBF8A247B6CE16FEA63B75E6B1B69E4E114 +1811106954C59C45019557A4A5B85141F5DB1E66132420A36F92A6D278952CEC +57397B1B19CEFD61D46E8E6251748D3A5C51627595F5384641389D410DC113F8 +E414A2092E1F016894547B9180086F32282A9E5008BF0EC303D795D819315A07 +7A53626EC56D1A51A2D63B302BFA5BFE76725BFF2763DF7A1BE276D38F9E4900 +1347C36E5544A537340D3432C95C0CE6FB109AFAF835F63ABDFBFB87D7CAB309 +8DECB48D92918280061A3B508E3FE77B38DE70C08F2AEEFE4A95E744AC9F187B +5A56B299D19740758FD5F83FBF45E3CD135925471D708F074CB7052C84BE0880 +6D9BE9CC6CDE5123C540750977BD5C40C3A06C2C9635A3D185E483A0A0BCEBAA +98ED8F9E91F811CBA81DD774706285A5D764D47C6619BA577DEFBE2A8F4CFEE4 +5D4224C668D733858A9A2BC3165FCA696BFB81FB9F6D9525AF9142F7D9B88CC9 +3C4A04143EFE905C3A53DB1CBB576FA71515ACDC4E9FB046132DF4391BB1BD17 +9E3D9F1134A08BBC61E2FF7C22C5414848C2EF8EEA7EA0E3BEA00CAB58234DA4 +32D462D39FD27B6D7075490FA8F7A2CC0E61131FD16E4730C3E052517CEB7161 +54E39C02B4C1C5203AFC3DDF08F9AB41D6DB7BD688D8741907B93DE8D05746D2 +CFCA62853EF535C720963D87F6E98BD70CB0077361C63083CC9EB2AB48724F5A +C7C1EE072EAB1591DE9DF8FCF694C0A0D00897B267BEB94DB325318C02FE0EB8 +F2871ED36C458381955334B2DC5815FB50946F6F84387177D9E09E418B68C687 +17BA7EDCC0A431639DDED783A0838DB4FEFAC3A50B2DE33B535AFA7D8DD82309 +6C2AB536486916B2F335A8F897A5D340C636181FC9C7E2BAE55D9A65F4703045 +57D3C717030D55D70DAE34526ADDFDE4B3C92CE801EB0158E3A53936693B9D9F +FF23B80988CDDDB2F94164FABDEB6E90DCC5A7E098E41332AB4A1EA8E070198F +C4AE542B3B20A60CFC9EE2368B474D025F05D1F96032D0329F34EE5B5B450ECA +29655E724FDA6AF338DE98FA754629431BC1E44A567B1408D4DA1C592A0CC28D +D57201857C85A13D6280F1DD4EC25B0A494C9F21F04E2205464FDB78466EFF0B +B058752B8FFDBFF71174C12AFD587BAD4296FFE66EDD97F6A14AEF4FBDCB257B +E600F6AEEFB534AC1E1047CB60C39BA36E561B7BF7EB819155CC4339AC60BACA +20DF47D2D9E59EF22E588431EEFF2EB5EFFC3B585084E89E81DC0C24264F8009 +09EBB172D9C25C0D11FF699E670B493AC2EAC2358BD1B72028E00C36ADC9BA60 +732B3B26ED56BC82B3DBA957FB4C02E8E2DD90C2FCE345BF97D8FBE13ADCF5A1 +BE554DCBC49BC30D6E133BADF6D86FC17A341233109015CB52681426BAB5E93A +5E57AAF28A69A9FE2C849713EB0CF82D169006B74C02A1C1F6C380259388923D +66E40BCF28CF9DBF326C93ED85EEDF22A87FA8790A48774204D4563D51A0B5A7 +3A71F8E104CC29E7EF753321EBA17CA8283BA88341129513E928612BFB8EB983 +331A1D69E8BCCF9303EEB299C30FA51A66F061275483A96484F85AE27775672B +3C002AFE7109807FCC60D682BCBBD9984BA2BECB273EA14572ED74D9781C6E59 +501E063BEFB1DA90060CB80071B65CDE7FF58FB70849517FE7A0A9B5D572F1CA +E6C5B3F9578207D7E69A9F0B69B68517AA4845CE8D31CE3721C4C49FDEC385C5 +933B63098D91B4A33BFE7CB26C8E4D3D81D4D7CCA6305056344B396BFAEBB5C4 +DC13B15B757C5F8F182E8366EC4B3961EC8037F93EFB11E28CEA9B446793278B +612A84F26A47EDE9CAAA63F2D405BDC6B2CDEFF681BF007F9FC5F1FD29578B74 +EBDBE7A95014F86EE9E1BC3D775C1BC9A898B0917E087BF96EC6E82FDA152006 +7A79AAC0A1C3D0A762D9BA1E7944D50A817ECB31744987159A9F70A08CD713C8 +65A988A6E45CEA1A61C3941E1176C18EC8A91273B225348A9FF4DACA0B096148 +6DC314286F42513CD54741AE6F729DE20E79D59BB69C887F7AF3A7D3F8B0A1D3 +5D40B7522486BED30509528A4BBBBDD2A50A325CD0CA221529B26D1EDBB53985 +F718EB894E2A0D724F436FC98BF053D5067935EB118B733F58C0443DD3D64D76 +5F774F261FC14E5AA8471D287F1C04BDA0EADD20298237B2352D4E7FCD49F5AC +C93C65A71042892E2FCF538C3403E53291C6E7195967FCC6D767D2C0572B0416 +00A679A61D7B8261CC3B395287ADA6B899BE3DE48E1BE994C9BE0AB599DAF88D +0F8CF24A8C78A70B4591C6EFFCFD672E9A2D96030C8503CAD9B4EDF49999671E +9684077EF2068F18EBFF909D24102E3E79F997B5E7C5E4E070442AE0685DC67A +04535D97466722D32D8B1042DE5D37BF6BFCBE65A6B6720EA143169B3A34B5DF +C57857E636D4619D888315557DBE9DC603F451EC86343CC765CF32BF00E63640 +A7F2697F3D6B82A0614B44268DC41ED693C25C465471DFD0D90158B1ADEF3F2D +E761F2FF65C4467FECBFF43F3789D2BA336E083FF2EAE5F6BF7E234913241CE1 +D463338059E5DF714572CD9F552DC1788F746DB2285356FEFEF131296558DF6E +D37902E8508E69374508D392FBBA98189605B7114D71719C1184331DF27439F9 +C05F5AB76980EE92597F087828494F7882DC730771332BF01043B0C95CB562A1 +6D928920AABC474EE515FA6D3BB0415F05122BD6D0998EA189DF6749FE773621 +5CB19FAE8D4472207AF37E91749ADC4F1CD9752F903C1DD22A7E42C5EE6D200F +3EEAD0F2030166028F61D005072FEFF3FBB46549507E87F293E9D2A73843ED55 +64F7248CEF3435430F2AE7A106FC01ACB11B33677146306B414CB019ED2B6B84 +735840D0CC6DB88F59B5D71780BC8778545636337BD17728BB5C0314CEC937E6 +AD613635D1D8431DE6749FF3C632B9331B16AE96BBA47CA99C32FBCD23EDFE71 +1D06D699907B4E95B379B2939A4CF024C1D60D6C032E30DCFA044C4E7AB05ED8 +595448A85A13A14973415269767D225062845488B79685C54BB97866B13240B7 +BEF0688C4849D38B065DC55C2B6F86AB0A9BCA32146B352449FF4375C6549548 +16765A2EDB6A38E948C291C97C9ACAE35E92FC52FE171632E71CC6EDFD98057D +DA5E3513C61721BDC7694E0384BFE1860945EC1E66FC9392BD9D3C8AA735CE55 +19D94ACA804AE0BD2FF853717146AF0AAF6A5E3A2F218187C3F19216D05BA1F7 +F612BAE6AAA2FB8ABA276E87E4C85A2607441E52537DB089C63A580D43F03568 +6197B85C7E74DED9D79A91166245A8E53F483E7280D32632A289CD36634EFB88 +A2B0312681207357626DB7B9E3BC8FF68A9B57B781624CC2EA113D6A52C732CE +516270191CFACB8F0074C160B2FC703231C3D4A0DCF5DBAE33B706E31A25CF78 +7E35B985D05E5D449DCFE75FE74E519495BAF2A65D179D3D18196C7BA237365F +08D2A398429364E9EE56DE5377A28B11AE28E02041ECFF251F9C922F2A812FCD +B587912F783B3F36A48A079B930BF0B3F3342C6C829A41F9C61D65D72E5FDDB8 +A2B925D0E68AF6E969C54F0CD3FC764D2B9444BBF09C2EA1D6E53C51F72EB99C +52720227BCF80215A0FC71F453CFB1BA34B6168E8949905687194168E2825D38 +3A296122AD2AA61DF3EEDF2D8A778070BC8CCCF89D9BF92A47A29D76E5832907 +638BBE1689924AD5E9292726300E5374FF21BD3F460F15EBB8B971ECB356DF4B +5923FB10B677EE4FCC17498A44E119AFECF07F52EECBB7A09EE9E5E71ECE78FD +49FD299DBE8D4A381D96D8547DE7CCC235C4026E4E30C1F3DAD4A3E47A53217B +95BC6285CE787BBD62DB5CD545E3CA96832E21C57E912E718E1BB1B8ED4C182B +4ED6E6BE789B666F0E167E2200C056EE11F50146F3EB4B18067551FAA65BA2CF +35A4E0482BEFB17509CCA233B3A69F14B82DBBD9C22377152E913C34532E82BC +9F304C531B3AC32D0956C520A7F0516B4D0B294D31AD0F31B506F4B5E57FE4BD +32205CACB2605BEE33352421E79A5C0FE089EE3EBC3198DC157AAED8B8D8D9C3 +EDCB06BE895360FCB7C96BF078100DFE97263BD1BA047534FAFDA6AA4F349427 +2049781B4D3F4EAF9C324E6B383448BA7A5863F83A27D0241DDAC2F0E54D46BF +A6937AB38744D515394B702245B4E133B9D839D7474DD1AF70C243566CE2EFD4 +A2E9F96F4F828B5EFA48EF89EF801A4CD5FAF790DD8F83EE6966700636D6725B +911A1353727A87834B7FB91C66ECA1AB9CF110DB1D6824CF111FCA4FF54AB65C +8EAD822F11667A54986CFC03292292174887B55B27CAB5EA16F46B393A3AF253 +D5507E766A2E21A8C9D36C3AE2A4CF0D8804596DFEB7AE093BF3A6094DA80257 +BC6918172D2E3CDE44D64CBC082956DDA9D5E44340C03EEBA35D4EA21435D935 +0B0393DB1BE66733CCB58DFFD98B2EF3702218FA908C91AB0F45D4395F8B86A5 +3D3A7960305E7331D9436A41F1259FC7EEE9294875DD4504B1C5039597D8D57E +E7F238388CE1AF8834DAD635760D4BF1D98AD023A7C47B0998FD0576EBCC5CB1 +F7AFD52D4174ED125B5C40E904EFCA544DC1C79C1E897C545A48A8FC9783E5F5 +A2402F8A7548AB934FD107E63776442B0353DA7F2533BAB97F342FA42EE2BADC +32DE8520CC3C9C9235A7D55715527EC8761EE7C2143589684B5B12B4CF38E2E3 +13DE97D03B5FF43BBE3DE5FE94130B085992A0EC322112CEADDD60DA3A075A05 +F2BFE8BF9CE3B4EBC993D6CDFE3B8EB75065286397FF14640C6AB106ABEB773F +63831475D31E7BA92108CA7DC3E5A2859B20779044AF8D99296CD1BE362540A8 +FA6F0CD74BADDEFB530B5F294019BE157CA6968BDB97C00532DB86739389352F +C9D6F02E201D0307A5BB72C321B336DB5250CBB1042BAD9462C337471FAAA6A8 +C75ACD9F3829A1FC8042AA6A0E4640DBDA17DC17BC28174CD7DC6F714657AB24 +E8A364AD9EF93AAEC79F6C88FD11363CEAFACFEAFD29CE426F9016DD0D3FFCE4 +6787EF6C73B6DAD0E0AACF3B4C7B3FAA21E6ABCE10A6C77EF9DDEBA18B86189A +FDACB87D89C7DE5B6F007D2D886CB91CCD814A74054076ED61779957F878A707 +8F23FE16CCF1F3D4F03DA5188DB3C86BE4B0854C6B43CFE107F02A1C4FC6E211 +3698D6E345292701FA78EEDE4EC1A7FCB2519FBB2B7793C35FC597A24C398F8F +7778F6AFB0691A987F65E23912F5B7A56C0D58859EB49313BFB5237B7534FB7E +32EDE24078C8D01D6B2763FE80E2091B2D5370B7B993DA081DC875F9E3ADBBA6 +3A7CDAABB144133AC8D20F57EA85F58D1B7E72E773B24176C9184F8DAFF97ACB +D53BEC72B33670F2ACCA99724FC57DD1037C6C00DE7BCF6DBD32C2800D15C1FA +FEB6F051EF41ADA2F3F797D883FC87418DFC9DF3AEB72FEA8A4DE63DE27550A6 +759D7844CB8871CC776EEFCF2CE05493847880E395CB4F64FBA2A1D3B145718A +88BABD797A6154EEBA8AEC4D18FA06419D43D12E0B439E560E6DC28FA5E3E5D5 +E154937668F60AEF7F1E0BC67F303DC07FC8D62B62E8A423173D97119C98FD1D +3422E9C6092E964B5BB9DF70E9E4E278EE880D1F0CCA7F099DA7D5687182CF50 +F6C71C1F5FE888E504929E28F5FE875E86826ACE3E12340D6D9567586B290745 +9F4B8F1920EB0B6ADF80FE64A68CC6A5E45D6216D85DAB27885183D8BEFB8AB3 +34698392036C6D4FC06E57BCEA8B7C356131CC2B0EEEDC622E31A0B0D6450853 +BB473C3D4EC72A07B4F1DD4E042B673C33FCA0604E225B5B7AE9CD3117B29102 +A4EF91089B21D067CDD216DCA396EB26D3A93354B1EF9480ADFBF47302944B8E +689BF2A5577E685DD676900267F27D1F0D909E028A8230F1E78D0A5CEB315613 +7BCCE783AEC76A00528495C39288912795CA29E310F14D0254EAF189EC9F6B50 +DD11C600E830E8089FF6E8551D922108ED658D7532924122B25779F6249574DA +23335811A89F3F1BE93397BCBE567DA3FB55EC17EBF96D17351F2E91949BF461 +81BED82C96F3A8D3218A5ADC7636D91F8BE8815E2D87747CEDD0E2318114794C +5F9EDC14F93A499036AB8F86D87D8BF69CDA7D7FAF4D7DD01B15D0A65C97635A +B519714DC29C3E36FFDB7E29FB09BF477E32BE84816DC51182375E90AB1DBC36 +5E4D719259BDBD2A2E9DCB025613E537958ACB83B7A86D23B70CB104EF925650 +F5DA43B2A18812F4EBA0AB8DB6351BF489CF0A32511D4A1879437E3C226A101E +1F33FD0F1A5657B51B636BF520BE37193F2BA020B3DFF82D46462F98CB967589 +90DA46A5B65F52B78DA019EC900FE6CC2CB727B8B6F3B6640D49F4CE63A52624 +A2ED29D4C4A28C7B1D7470092EDF41101E6B628E18DD125773E7AE9426A3A529 +FBDD996A2DA46A21D720F2F49FBF611DBE110D2678D585115EDD9D5D5C22E4F9 +7F0E675E3023C23EFAC7D025DBF6D767A9012AED3418B583A55D565B5989A17E +D45885D63D8CFBFB16FBEDE6EDC39D706D2246483E21D63B6E43E1878F89853C +09C710D4F20F075E550DEDC0FC1B728E459206168BE1021125DCCABB86087F2D +E6F897157BB0FB6824B33C511CEB1DBE4BDEF507614B28AF0A59B028CCAA91FE +A4EE8A00821BD66A3678A4EB6C09A17BF57483FDD188645E6EAA31621CD5260E +54AC3512EEB1A57C4DA652E89C3792689724B632441BD194B68D9AF88E29C7BA +77F888E53B981F6AE9F5515E6D8A968619514F62BD91BD6807E02CFCCA694DC7 +CA9316809A62AE5174775235DCF9BEFB00592F1FF418499B3FECC4E42F652103 +36C015C0747BCAC97E12C8BD01C4E9D9D4889DB534E0B2B745E35D08691803F1 +F622D4DAC08C124C2C8F4A111166C0481C293E7DD2619A3E5307AE41EA7E04C0 +F55A7EB42F83BC3BFA8E8118AA580FF426C75B52EA68D34AC1A2F3FDF20CF272 +CB7A2E6246DCB25F3F870E7440A2520B5EAF59B61EC9FEDE3F2F2A79AB4F3DA8 +D3E9B9B99513FFC2C1B9555EEF08BC5570B6C1A046795C4CEAB187105607AB6E +A7623709DDE1E087F071105B611CDD52912F3D10EAA9A4BFB5B77E75FE6F2BF0 +458D283935100D526A913FE631A7C7E54F1CE6097795517E83CC396807ACF701 +5E2AF3C11A75F66D27DC1E84820428B9FAE88EAA0CF06C0F46A2518094058431 +1546612C37B6AD9F91449FB32BE62AB65C32F898D5F9FD416ADC59EA35E306BA +11635BBB6361D5378232B80D18BF45B5BE8C6F51F4A2DF04DBF511A468F1BF64 +F1A2EAD1FBD42EDFB9B35C8E53829E6D39256B54FFED92CE58F1F9695B073C27 +A51CD4EC20481BB25C6CA4081CEDEEE63FE726B8EC951A41FABFF83A7F1C70DE +FAFB8D10522CFA6C33DA23CC1ED63C1CC25003120BB9F3153553EBE6A2870BA9 +C8FBB4CD3A6ED75C1D24E60A2553E618FF546128BACDE6DC59A64B812DEAC61B +7606A35FB6F06EEC7FDDECB36AF0ADEE58F41316346D863CFD8E114F44FB9EED +950D41B8B1D9C9FE6321228CF171B560B8B129F80EA04A82B731C34AE9DC269A +EC08729BBB2824C1451EEFC851AFB32A5485A035E61015488EBE3A5354FF7951 +BF7F795196542F152AA344065C644AB515D95F1DC5471674E5EB3BFCAEBEB97C +F4D017377E3A136C63EADBAF7D4729FE78A82ABFDC02AB7DD4A49B269AEDE26D +5D04A0593A19E626595875789BC83535DD71C6829FF46F59BB1384DC2E6371DF +3E014F3C26AB00AA55B4CE9B93A645D4990CB2B32B9DD6E2C60D3FD6CD3D48CC +C662D724F7933A1C544B9C5F16C37FA27D3E028517A687FF469B5376A8EC5C9F +6156528B841DE6E4357CD98F9CF0363000573026FD561E1E7EB6BD2164C7A1CC +3032E4386A942085F76284F63F02B9FDC1B6B67463B36DF7FB39A7855B791D1C +4CC9A3A2B130711E646097D65D9F3980E432766C422B5470F1A281D167A5BA2C +3C15F6AED61CD52A7A12167DE46343604A2C24524AB64B360AFDC5DFD58DE801 +408055D36D4B314A80A66DD7BE1116EA32BB3C646A2EB3BA9E4ADEB587312C09 +44292F8F328F542E479BBF54177F19A7BA75562F5D36E7F9641535E9047E99AD +A579CF75788080388BC3CA8D2789A86A7F9FBDE90E8D9119DDCD2601FC8944C5 +855E13075943D2FCF133CE3EA0239624D8678DDFF50F1CA43F4595588906B39D +F0F8E92B891FAD86830D1127CA2EB3E81615A138B1F06BD4B59FC4DACE4ECD84 +ED9D41199B1309CBD5D498C18ADFCEF1F24B85304F54925DE840B4474E27AE9D +B4AC1959FEA2110989D7128076138353B81C08F99F19CAAE0B2ABA49609C95B9 +977E3A62B9DF6F39D245EBFD902B245EFA2CC601864F399D4748C1192B0FCBB6 +9A2BDC9FEE5D20F4E8415EDFE4800D86725417CEF973CC1D242A501B1BBFAC3F +E66CDA3FCFFE4474DF22648F56EA12FF1F5DF4F84430F2F5A787DE997CE19D36 +081B69E41897AF30965733C4064D8B664046940A735F7E0BCDC0F1758078BF65 +5B0562B7CBC32511D668E8B270F61DE04C9E99D7B2B6670A048E973E53096782 +9B3566BF079BDBA6C9E83ACA1165738C929000F8C2A849D1BA054D2895149FBC +463679A22F07B6E8E1F5E38E2A8418384853B4B7F685733716F42D49935073D8 +6FDE1AE59F5A0A26EBAB5607DA830C585CC1E8397872ED1E0FF20A7F526FFA42 +2193C1316CB7798708FDCD9E25138064E46C4EB3362970F7C8A6449F1C557E69 +F42F18E817359EC26FD7590199FB158B07DAAC0DFF4D6A55B5AFA1C3707F81D0 +BA0651B21F633DB33DF01FD605545BC99BC0CE3C2C846F47DDF7A259E0754BBE +8BC9FDBEC590EB756997F26C1556CA2249FBC9E56868A62B2D35462D110EE04B +8AAB34FE27F5F3A495FD1ECD64E0FD0679EBE6604F8E00670B60A229A29D9407 +B3554892E8239F92DE2647FD08B39FF2662369BD5CF140562AA3AA093F5143F4 +E234A7D47DB543ABD141B026792056178716D13A0CD10F830E008ADA04292E32 +E2324E1DBCBB84ED85D10ABE559BE9F13F343FE03052FD170A0CE2FD5F34A9AB +B81756931C612B54FFB7C48B8EFBF352E67A8A2CA6706E4EB29D402EE393F126 +1857F04A371B8BE53C392C58434E3250B40D0D58AAEE75B1500F7A02CE82C4C6 +4141DCD5474BE9E7ECC08F4724A6508B40890CCB768817174AD09B8CEBD087E7 +E26F3A57DCB97906E1C4AE759DEFB8E5B2CA22485735603DF495B087FF8E144B +F590AD3EA1E4162DDBF5A1D0E1C5B3989C995738A25BF8FB57ABBA26ABEAD61E +6F721C323236F71271AE347F880CF434F9D47FEFD2A56C190B26F3CA707933CD +98EF706460832D64B6B853DB3E53363FC62693FE340EBE8F03A38F4668525177 +B3F3F787B8476D86834FA113D4940F264922952353518FE7FA75593992BB7198 +5720CD02B9F0F9EE7E854D53B85807334FC9EFC84868BD70C437B55086E8EC8B +54C10D293C24C8FB674C65A36614A686D08EECE666928A10F29F26AF6E6B603C +0B230840D087C62CD2FA5377941C7D4C1A6A14840243C8DA1ED5E1FE7292D960 +B9D610F2C027418A23AA23F5C68A9EBBABB3D61CDDBB1D29EBCD13C0C591F2C2 +7230D296654674BF1B6547AE0E055DBCEBEBBBAAEA6203DE45C18B7DA973048E +DBEE43181ACD15D47341C8D173328A525BDD021509A8EEF2AE8AAF3B87B1634A +D3002E8F1BEEEF87F9754B58358B7615AB339565AC57D38A894C2896D235F5AE +C7BFA18C7FC1931C7FC6AAFCD9800AB858FAE8077F2C67E435D943355F9CB4B4 +E0BBB2665441CE3460EFD9A98F40CF83B7F46D35AF353EAA542CC2D5F3EF8BF3 +10D5A5422F4975082A24C769CACCF8A787B344491E3E4F6F79AED993627B44B8 +AB47398C0478B42E67E8799F33FC9278A545359002E94F19D01AC465BDEF5666 +2CCAD2C2BF89521C1664B08616B5F12FF470C14488E783C3A191547D6381252D +B48967E971CBE03C9BDA3387B36BA3612090F755F46FFAC5F91247BA7417F374 +2AEBFCD0C91057AF11DEDF31797AC1008A586429159B593124C8B71EC87C16EE +D7840A32481524A958DCC60D989A9E387BE96268611C1C54AA679B279A52F993 +32D188253ED0DAB9F7C98955E6118DCACA7CE701BB5D1CD5E70D0188C0CCE8A0 +142B83FC90A97FD06F2084234C078CB926A526B872DFDE42F5ED8508E453B12D +045277A3E76EBA27511B4CF0FF6FB3B4B41302DD5E2E25760E30B8BEAA3ACDEA +A2D701C039C111A83A46DCD201B947F52F25E1047AF10B5325561B8BAA0E7564 +DC31D8E8ED2A24847A146B824F2F7798E4461ADDB4C5E75DADE1C253DB22D4C9 +9AB28E31E5733B18E42B055A420D77BC98406E980BC92C77A3774555A1693011 +D0D22163A3D0042D2F8DB77722AFDB3403736F02F04DDE50CBDF379F434A8468 +A1E3BCCE78BE91C08004995477A27EDFCD93112678869F9EC08409B3CEBF9A8E +FC2F9B354A48713B4E2B9328F50C0090C82A06D04576A763849DE2479E5ACAAD +BE435CA9D4D06EAAD43B61B9CD7932CE46A69D6793D8FE7C245CA0CB4BE77059 +477C447F6FDE0013AC5E8C97D5131832ACA1B50E853E465AD8C50485E4291624 +1BF809A7397F05AD367EA3B7A971E14DD43DC9298BF52567ED56E189510DB574 +B5A6F70D7DF08890DC5D837B6A2D09BBB708F7A868A39EA54E733D0482FA9544 +7F807644F3FC336D78D22EAE12F48254753EFEA3B31F3090AFF572D7F3E77B5F +7ABCBA19D7D9C2EEE8ACA58C1E1770DD151E01EA0DFC7CCEB4141A00F85B5EE8 +18461F5A24D4E4B8B7F309F65E974C7F715C1CD466145F5A870F2F424CF33C13 +78E39A0430CB4BE748BD72E880031077F04EA32ABA3D359AAF79E225B41ECBC5 +A9C2944D5267D9FFC194C547D05D92A5E89E143E63481013B1B346260EC1EBAE +7BE17AA72035DF86B62F46E3849F42D43448BDD4F91DEB4C3F859B9D4E937CBD +C4D25170D2D80CAAB1CC0253731252CC051D729A6CD87D39C1EBF50C61D9A575 +4445F7F5E51607E97EAD6C933FF531967E6153181AB7D323E42C2CCC78803E2A +DBDB113309B5D75B045D3A5D180673D8917841CB9DC54EE19721A3AD436971C6 +DF9DD9FA78238D37179EC2E7B9BA528C485873F99D209AA53D38084B4BBFCB7E +C559FD3F939BEDF5BB9A75F11D2F853285E2626C0C6D79CCD2DF4486FDAD3A2F +898C348F4D3C6C29BAB02E9686C6DC99DCD203C94B4E8869BAB8083E62D7DBB6 +22173A97B3481C144B95134419188E297D2521223464418C83752328FD6C84FD +F910E26F8F20918AECCF86E937D69C708B4FBA5B94BB1F573274FD9EE6C2F26F +C657665EBE9ADA23BE2D4949F52FA4E30A3E9400B3226CE24C4D30807E262ECE +2D506BE02FDE8A0D4042F908324409E608F45FBF94E7ED12E99D56288A305A94 +7DE50958BBC47A2C7043F560F591B5AA209376AB2EB3E59C3C9A6748E429412E +1823CB5F64D80A93D96FE073F8507F07787499D1A439F2000604CBBD63DF31ED +4C6CD3915D933D0F98CA90FC983C29EDC92B7DF08334E9772A31683746DD4C9B +CF460446DC8541B503A3DD5EAB9E88107587A93092F201DEFE926F41E035F09B +CFA90B81E97D8AE484FDC96D5491574CC9884922176D121A3E274B94D239CD69 +6D545F87238BF05DAE40FBB7671BEB2AE967DACBAA528E66D57C5C8EC554B9E8 +972F83D668216F336A46C0FAC6F066E7776D199DF204E16D8E3E293882716BEC +B1DC6C9866404A2582D8A9D23F3081EDA0EF3731A8D94D8069D589EB4744B0EC +4866393C30F5A11AF6C0A3F48E7A5C1AAAB80CB6E20A84412802C2862AB121E2 +71F3C96A25C43C08DABAFA7C557DBEAF679AEBFB53B81D3A7E55710AF3860559 +45932079CC79BF6123FBD852D62C41B049A9A560226939F080E9EA5C72EBAD46 +EDD8390B57DCAC3B55A45C40CD0AD2D521C2BDF299899F52125F78B8477E6953 +DCA76BA5E2F7D0AB2A29CFB258573A3CF80998F3E6333CE19CEFB58C71D773E0 +C9C96C0C52DD189606B11A8128B97CA631271B28CC49D88070825BB5CD6D9CE2 +01BB269B0D0010845BE00197F7D0127A32602DDA051556B006DE0534B351F8DA +8728E60C223D8B759DEF450AF14078F4A393077A68D8B656F0ECC756D4D495E7 +AC0090A6C0D2C25B0C18D7144AF78C083374FAF761CDCD8E27044BD090A397CC +23025AF4C76C1507205EA91DC41FC1E660010AFD85F1DC2668317588E77F390C +6F2BE6E87E64F979C259EB35B9E06ACF5E86EB1EFA669BD9338DC1544221CC77 +7EF9430DE3E878E7D8686781443CC7A11F8DB43CC7EBD5743574E56DA0DAA6A8 +FC799ADCD91EBF7D279FAAE08D5683E0E2ADE9C2D1C9C1D35B354090D17BCF2D +9E16A48B1668F90634CA41EA3A5CA8D20ED0AC53022B3F1F3C9E17A02C00F379 +BBF61D1FF26823FF394BC9B669EC8A32D8C020D3C95AD058EBDE1B512FB8B6F5 +4645909503E6D8F0CA833C911766DE63D1E06A7D4DD37B6FB3EFF5AC003BB759 +5EF311D5B8930D775DB5C4F82E519A28488C93E011E22A468E268CF139412DE2 +11DB62A7748F9A643E4DFB264DD81A9509DF461FFF1D350396FE190DF9529224 +8C47FFCA391FCA5734666D533DC19E7F41BA0E3F7641681586FBAE859A50BF9F +EA343866CAB65326676EF5353273D42A4E8CFF92E11FD0FAF9E754547D2DC133 +1C5A676EF2B6647119CBF8A7FBCB965056D732D8EBCE0EE11D0D37B6625B27B4 +388D1DD60D642547BD6C5C6FAE9A72F4E68DA46757B662DE726985D46DA3215A +628B0128C0835685588239EF638D489FF9499DAC82F2144E361EB8FF5CCE80DF +5E1BA97782FA5E81821219387753CB8EAE7EFE65DEA82CFB784469ED32DF6E21 +D6D7E94392D8DAA5C62A88E0E7743A34F2C18BF01312B49C035E915E7A317B82 +B59504CFEBDF35DD368389D0C89A308843AB31595669E828463E26D5D6E78630 +8E455D9A6C3EB58E3F58056FA0A30CA961675B1E40AEEFC8F310314F49C513EF +ABF5101F59034D5318C1D9C70C3290434B65FD6D3148B8DAABA24F517EB3F070 +0DE19B389909B2DD5BB43BA3F6DDC2972B40A4DD13C7599C74AFC097175A05E5 +F2C307A59DC48A9C15354D57156ADA9009505A602D77C4E7AD4902D9B606B520 +52BB66B78FA21683FC98259E6A5A9E6027323FF2F879081C6465598E848D5031 +24DC83B7D18AD3BFAED378AED4F17C6CCBBD9EACE31B800E3174ABB020E32D48 +9CDDE69D160D630F790157BF4DA87B14151692DB846C1D96710AA7266A483346 +F7060060F10CE583F407B7430BCD1D5121FC9C270291F993538BC10D7A5F7868 +D7D434FE795AA707A63874ED9668F27F101A701BA9E43077A2EA1B7CD576CFA1 +B614BD1DA7EF3F9B0EA0AAB021B53BFC5D3C897DBFA7B6079EE99E66346B343F +140A350F1B9805485A30AB93486A217AC0CA663E654E533CC9197632A555AD60 +2B60047195877B3513FFB99E895F3EC3CD0BE0CF08901AFC3D79479C9DA36E85 +1D6DE801D3ED1C34256011B2035C52B73D98B8F12D707B876D25FB09EB5C1C02 +89856EFB3D8080F00922F338EC6FBE85CF57B160CF85B658881960A64CF065EC +B32D2BA2A1FE235C1AF87EAA4373F09AEC05A1C355F4C57E9259AC2BA4A8AD23 +2E0E3989DD45DFDCB54336D1F249650ECFB21433FA11A14A42141ABB516E3D85 +2887A97334AB91E4134576A74DA397826F6D4659F388F7B722C675BCA42C9338 +934F94B6321CB3885FFA7CD4C7A96E9D14E5A2A5DA68C5B5E11010EE38444B1F +30CEB6F0410EAB6EBBA097E482429763214E4DDE0DB2C004F735B032DB3045A6 +459DA48453CF6EDBC47CE46609AE01F9EC5433C85608B7D3E1E890E4A64CDA6C +BB94399EAC00F06908EC2870FCBA4044F93B016C91C28349EDB7C91C92236D4B +5347F2408F98D684BA1FC14C27809DA7DDAA414297DAEBFACDF70BDF412100C8 +A42C35797E48EFFBDEF5C2F593470234F75E3B0A4EFEFA74FEE6090B884DDD5E +EC0CA5F53E47917BE27CA2FA1054B232CE95A2CE2E8A70610FDEF00B38F03970 +3A00FC6C909CD0787D493EB5946352BB90F1C041899C334F7C155CD9B76DDBD1 +221FE505EA179D91727B44864AB6DC5E5F48DDD018BB4253600AC4D342CA65EC +D60A69959428025811042426F7059EC08EA28095BFF175B7A6ABA8BA52E88A32 +E42E18DB45D00C7A4FFB0BEDD837BF8049BA57DF31F1143DF780277D23C1E197 +3C59A001A97EAB93B4431906E598F0822AE35713D21645B43E13182EAC122EBD +2DFB477AA508D4184085BFC22D1FA6A8DF10D9A916E6179A2CCEBAEE35490CF6 +5BA6BE437D4D8EF01CAE05FB929861D2BEDF3E9B0053B776F4402CB9D063A71D +E0A1CA682AD69A5D9EA13C86997A779861EA71730FBEE1D9A4640983AF02B703 +CD7A85F0793C07EBB57FB9631A781EB54C8DA8ADB872D6A32DCBA78FB0AAF00C +D893FDD8E4981145CCD80A14DB6FBCBBBB03E7D23D492009B98B757F0044553E +BBEDD139EA52E664EF2A1D4531D16BBEA5EA29AB6491CBB85263B8BAB6D446F9 +F67AC3A247A29E4A0B081C8D811FE057667DB23F94441C74E11E7AAA6D9BA4C3 +854EDE23520C9C4548016DAFD3E791D599D94D6D61BB218BD00E232DA493015A +93751B5EE91F63F7B08E72EB6C15160BAFDCCD42D826AB7FD8A992555BBE5A44 +E6FD0C46DCD45FB959CCCF2EEFE037176FA202416441C59CF5A27D8354427AA1 +67C15E6F2E90B55B3C46B7B0F1410B17BCF452948252AD4C661864CB6CC39F03 +31AD003356A4C7C92BA73804C28B416C836D8D655790C53D3818E70C62C38D48 +6FA6C6CBA2ABE8AEDC125C8541B3B1FCCD73F4474560F5BE1A07A7D1A04D5ED9 +FFC20BE392021C08442619BAA93F499D6AE85D70F787BA03434DDC7B800D8146 +A14496AC947CD17252756D40F0465DD2D9161E344936C65A4CAF63B5C8EB9E34 +ABB1A6E2B6A76F7B91CC1AAA8903B86EF621F76E7606EAC8A8F0B63B704E102C +98C4185D33007D1B98246949B8BEEA380613E9B81D3E2FC3F894AA4F4C1DA876 +62E92D9FD8589A5C7A0E9D4D28733C08DFF7189A0232A8289FF537376AE13C08 +7D7E43CC83CE9DF0D6372A075AC8063CB89AF6EADAD6179F03F5D3898DCF51AD +0D8833EB69C68C0D6429CCA12C5E2D9182035B3F771A8D7A5FBFD40A44F12351 +E3F42D3A5BE0FB4D0AD2E899D289127D8EB4D8D4030784E884ECB9FE60B9DD9B +31F5190BF95FD48CC1CF0E50E61CA832589FB380F0AF14852C60EB4EBC0179F0 +455F3F48433DE6CFC41A89273B628219E57E88DF7AFDC72414AC323B89926A5A +0A06E29FBBF7EE9E3BE5562CE995096595EFE5F6CD7A2CACECBF2303753B8CB4 +3465F3922D3E963CDD093688F57330254883BF082BC72116ADE2D8E750992458 +47D8CE7A1529FF9983F6CD56A7575F0BB34AE438E6ECD37EE83D951A356B83C6 +AAE7234343325AE51BA0AA1E517669AA7B662C09A55AFF9910201E9B47C45B01 +DDB755242819FCB31941359CD47CB9B03A162C719DBBB92A4041B71B8D22B10C +597418225DF3DC20044D7A7FF360150AE91D9F6770BABE3D15B0AFB2151500BC +FFD6B5DA992A4B999A4E9C9460B76879998E2D4BEB467026B321E156B06716A1 +2C242A93F2239763CD4541C9C6AF7F2E1F956B9A484B254803C85B29D7543D20 +E40C07A636F07436935229401B071955A6C722387418F3D99E3389FD50ABCB5E +D61A9D0B26CCBD6DC47B8377C078DE3B0DB9462E0B1C8040B92E1994E44B5704 +425DD3348E5745B29A620FC3048456AAB6A24800CF394E13707B6FB778A0B4DB +1923DB961A83643CD1E70B5701C56564E061E2F46F9FA8C531BC01D01F937BB6 +2C4FB758B07E60B48338D26AA856702E68A92CA42AB1BFDDFB7953FDAF8133CD +AFCDC4D995020706DFB6CAF3E07EDC4AF9750E3253CB72C00FE6AF5765A61F39 +4ED724F4B0E4459B678F7E8CF774C7AB87AF78E38615F23ACC8EC71E0591B71F +254978D3DE271E2C182FDF190809E6551E7606C78492A7BA274DDB0CCAFA320F +89ADB50F35734028847A5A09473EEF19A11FF5597FE05A429A3C8DD312130032 +C4D64B5B02DDAF78A4C08C00BBDCAF6D72DBB7B636E4A9403E66A9AFD4FAE520 +A96367FE821B98B497AF9B86F31D90ACE82DCA3EB3A6636335EA4061E10E917E +BE2BDD1CAC5395B4679A7ED1E7319AB670CBA366DBCDC8FC5607A8DE17E59E44 +4E700E43F88C00B1EF4BAB74CEF90A9095C1B168F680E550CCFF2D480C070E27 +6D1347BEAD1A40A57CB502339C9827354732B1986FFDFEBF48160453A1F559BC +F6E83A71523A3BBE399DBC0B757082BE6CADBCAE340EE1331E4755D359AB9256 +32BF4E2B1E3BBB8EE25F2E0572807D082ED15829B0CCF054BCEC1378198AE033 +5802B209BB452DF331A8EC46FFF63358C7288B7C0F20D6FCF54398D7BCBB1493 +84217642755C6A8D56467866294B5D7E4B2E760A5075A7931F63DE69CCD47FBC +FD845CC09093DB75E3ED88CDBE9298089E6A1E663D934225B0023ABF54E95D10 +F614D3602CF4509215683F5B9773ED0F1EEA41E17454CF8503AF1BE23AA251DA +7874A62289A3983E6F95444B98A35BA3B8A45FE375FA58BCAEEF768EFEBD25AD +117A393B999B2B217C66EE4FF70F8A91B4153E771E19AFC195208215F9502DAD +945201A987E71FCC93B5B27976C77A53AB5F34CF1A6D2F2A4C8B3CC0941ECF70 +791BF425A729C9EA2C09C54FBBDAE3CBA84A89AC4BCF397EA1A028F5656DEFA8 +43FFF3553ED9D8FE19DB02DB297EAE11DC8D88C2EB0F1B89904537E99B360BD2 +0BE004711612CC9CE6F2BFEB4B8AC1DEE1079059BB5C5D6D5C19659988959053 +D1B4E9321AE28D8E7706929157078BE75D1234A03DDEFB8E636A6187703BCC63 +FF7FCC512EDC737EBE5AEED7D6080F061DF3E11664F736C22D88BBE00C61FCE7 +BCBC47AD3C84146019EE40FC356F70B68E05669879AEC46F561E891847EA5E80 +16562374B1565FCF6DBF4DEF8FF6A6D5D67B09FD32487B6BC502F3EC1533CB39 +A9BE9D7BD861C1272D48AB737B1A3B424894410A48C810447252ECBA3F738EAD +C29AFA3B3E2C150AFD5D5BA383EE691119F0B04C16FA47E1A15C0D6694FECD90 +3E3D710D92D8F623D19D6F13F87DF43986A4A3ABFF6952EDC7793A94933AC704 +AD4ED8729263AB7450219B0BF0A83B7FCA0E16DB6A9C249BD77E49EFF7EF1603 +4D9E34ACC2990C7F4DDB992B2101828CEA1116945990B0AB6750D72A1EF77409 +04930C8D7381295F022B1835EADB9886F5ACEC4E032303139719FB0B65E8DB0B +BCF2D520F59F3AA73EE4ABC2B26B0F0C911A88E9FA7691DC71D3ED030BE70CC9 +556B9D0D0F630A53008B29C8ACB54341178302F82D52358FC75943445AD091C3 +CB5893B1482357017AA5A68785AC8EE74DE29816B1BA3ACD8C715411256A34D3 +AF0F727E32EDAC4EB9B929EC85DA20566902F0EDBE49DBDD2D6DF571EE858268 +E76959766C9F890F86FF7249BCB77E0AB1762E4C41DEDC2692A8073992FF5FF7 +7D8FE0EB091A682A00A2D1F3E2C1478337ACD4AA713A0F9381DC407175A09FAA +830C3B7BAF6B9FA80B65C43349C3083704B67E445BD2F352B055A0ECDB6EC24F +70FACB80CBD977ABCA4500126F669B117455573E0B7B2876613CA5A8CFB9023F +482DD6A956F5C39236674BC75B59A713CEA196D7EE20897C89848DA95F5477CA +7B58559AC776CBD692D7752C1926FFBB82672464B26AACF44F3AC1A9E311FC60 +7C2342334EC63F9E082826600AA2789B974541766D3052AFA1AA42560EA78666 +3C82EDCC89B3BF8F9AEA3E0ACF605258A7D29FB862487FAF82C4624BEA65DEC7 +CD829E1C41D8769E07B6CCAB1ABF40FA83ECA22A5E8E3ECC88CD3079561AA3D7 +F56CAA4CC0C4BE4AAA3CEC37C5752A23CC5AD3684883D1970CEF660084A17E3D +EC6FDAE4815BA9F11CC1705A7F9963DD4BD0238B8C4BE251FD0B208A6672C465 +12DAFE3233FADF4561FA10FFA9A3996CF1EC24EA5F6EFA9CA0830B631247BAEF +1011C5F51850A1F05B7E0762B15A5EA06DA454569F30084FAD88A2A0B5D8D4A9 +2D81C477D6E73799848B6A009E52A51CD9489D571FA534D5BF163F338EB81195 +10000C2F8466F1B211CCB6BFAD21BD7E8411CFE75B7200EEF00CDD7EBEFF4A8F +1DDEEE82DF38693C9FEDBB1D0981E57B49B4EE8D1505ACAD76BCF07E46560F56 +A672F5C4F615521D851946EA0086F13A550BA75A7D42E032910DD366138D58A8 +2716B1BB741A539BB4F2211885E321470C26EBA3156DF3B2135BAF9337718E38 +8A5B516645B1EACEC6E71701DBB86940122975371B8C60D578A3686BBF6B3FD7 +A4FBAAD3E11A6C8A2B7985C9DFA85C082E656C708FF52752A82C012D7A19EEB9 +FB4D90A6BEA4E75B898D4408DFB91085163593C4082EF66A4644FFF02DE50E6A +0572D75884312C043840C7163D7694E45113B324B5C317B0AE18F2D3D361F4B1 +9DC531DBF5A21F286776E9D39A81E49B93622879450537902F71257FDA210C0C +44FF7C2706E38C88D6DF57EFCD3F62844D72ACC7C0584C4BFF6B60DB256AEF5A +73FFA790805D1018D173DA5C75FE525D4F01F40B6B382FEAC93772718AD2C69D +186CE9153A28A246243D9CD121911557C38B73C6CD3724E9481409B572F0F347 +413AE0FB9150D55679DE7DF297B238CB8DB93DA772F248100528EC959B80534D +23619F594217262B1220C9E7C1141605718A8E589F967C810E2B9ED6436040A0 +9E204EBC6397C6EEC571BCA43788624296A4179DB3D4976EC6D27B14EEF92349 +6EAD3716721F52EDBA5517EA740322327A62F96D0B9D4D715D64B4794384B410 +2BA9F8F442D1BE31B5C48761E44EB339F061EC3213D4EF1EC6D8F294C5B222C0 +02911E1D61B7D2663255BE13FCEAAD6E665829E79CA81DFD5627E22BE4B91D8C +839BFB35C7ACD48BBDFFC61A4811A4875061855934E445B60C9B5A965C636778 +888B0E87E60BC83018E4BC16F08EE8891BD3C56B8F7EB4C1B6A6BD11D79FF638 +9EFD2243A9E7CE1D2A492868EB148AD8D3CA2B939FF3CC36557464E71E64BE13 +133946D7BC1DED761EF1EDF4D8524650B9A02319DB72BF0B5321B7D9BF8C357F +0D8D66A54EE088E9C270FEEAFD68735B046E4CEE851A2D03C97AB895A6AE96B0 +1A29DA9A4C96698F319D8BD1D5087F36D5112AD45A9F059D291C5507563933D8 +5FF87C7DEE8FEDE23D505ED6F0A14383E2BFC7A2B020A8598453B16D2DD38D5D +A8BB4F0D5A4523E5FF4FCFB19DBBEB5B1E2AF5EE260AC450FDC82A6A92E61707 +2237B50DD36599D476225CBA112763A8A5DD3B1919A91A79B9F324BD30B990EC +A32C3828BC991F8F43CE31FC202A2690DABCB64F814CCE11309752251E7EE559 +80D162949E7E578498C0338C6EEF3546B5F938D08699711D635ADD67B81C2230 +FFF3B1C0FDCAC4FF5A625E9D56B0BC229E605681E46F18737C599F914DB1FA42 +C6FACD77380689C14646E71F2C5A6DC68B119262D433326B181CADE47B2D7DB9 +214740E622F3A06383234F46C28586121C64B10A5B1ACB8ED7AFCF5E0E653FBC +D3C5598CC6D21FF5C6BD24C114BCDCA63F8485BB592356115B32998E4DEFCEFA +D63CD51CB54A69FE5690999F41FA2106A76A27C194FB44568FC7268D1D40FFD4 +24E553F660C83FD34271347E987897650C93DF64EA0F9D41AD68A40908E42729 +E008565141930C48395703F5FB61A99D2B087C065744126AF226CA5EC2659BAE +AB0A9F3EEBF46796547B29CED71BE3EF5FDD8AC6594F482E5E01C1A4EA33F401 +0CFCA0798A5686A379E8603CA1AD7034764157987DA0901DEFC5AAA57E97329C +7F297A594169E6A3598C75AA98DF3FEC78AD50D50568DA02DBFDAD9695DFFF4A +4F88A68F986F657E2C5B7290ABDDBDDE38C80E98D7A97654662C9F19190E1444 +0E7ECBDF22F295E5A09E988979D581313C9B8CC19D96723FB0BAD1657D50FFFE +DA1CDFDF513E88D869598E6B396158BF9A35F49BC1810EC7CC6AD1C2374D66DD +061112B679739E3840DBCA3865E2AE5600C8DBEED513F4BCDB0B284E655A2DC1 +6A6E53F78760A4FA927C16B4771DC7084308640A43E87E6B4AFC7578E20848B2 +8F77803EFB46E7E7798DF886E113A37B7C1223EFEC68CF74DD5038CFC927E41F +82452EB90C565065B9B182920DA7F2FDC0CF13E00A9604B5BD1C51A3F2D938AB +1415CF0981B8A1ECBBFE6067358E5A480866728CCE529B799262E165CDB9A0D6 +97BAA5D4934879D6CFA9B881CB0569B38DADFA5AC8C3A3146E68B8D250CACD6E +E1BF0BFDCDCE70485D603ABED0151F454DCE7FFF60C72B532C42B2D1B7C70F35 +1848AC903E659691DF5D05A1FC3F8DC8269A2ACA77E1DC53C22F875FC62BC325 +AE4E9042CD3B9F3C231B8BDA0D4F37C7A84A8C79A48F3D926F5A4B1685B0BBE8 +93D2231A97FC39EEA3277BC29EEBA0CDAC4B77938051A9DAE8832CE9269807E7 +9017D8DF9DF20A500562B6E972F82B99B7081B21E6D444D2A50763D0DCCCEBF5 +D018D9E7561F50F7A20FD012F33363E821FE54E387A194034B5674F376EC373B +A22F533904D6B1B3539F1BC6737B49112866320385714601584D8E69C4042B67 +71BB7F3DEC4FB857B25A2CAB22746CA62C762CC64B341A435439564895335D26 +D3F2E02948F17BA8533C75D628A46F7B88D33ED5CCB75E54BB9147DB9E567E2B +29E73361C786B38F1DE733E52DF6997641D52C70786E4524C049194EE1DB9A6A +2D49CFE5C4A47998E043DF5ECE933482EF1CC57B21FA44A84F02F194A4D7284B +AC4D4DAE7E51D869D41DB4E35F95136E16149413FD1D3703553F601ABCAED979 +602F094A08297C2AB3F2A31E80985C819FACDAFA757DA43C9BDC811F2A425631 +D288E459CF99F6EF06B16724C0FEC9F2437FDBC7B9C85D55B418C6B8FFE40961 +57D94FEF03B5031B566D1FE3FB0C3CB87A873AAA83A7171B657B8997F834B17C +197F2083E048E1AD59C265C4CAA03BDD0535F8FE7D2B427F447BFAAEC0BD0D6A +4E4B208966DC35AA64E3421829069560D287D04DCE2463F7EC261A6F4E11F2A6 +809F98E311E174BB528EC1E6EA4A00C22DD62F6B3419DA8AE72615EE06C98ACC +5E3E4761B20252EA0AD0DA374306E234B808D13750FD60D4422F66E4720C57A9 +FC981D2FD198C2F51F1E7DEEB22E9E0427B57AC7A12031F1C5B5EC9A026FC2C7 +CB4F7D30B6C3FC5E1B19F55044A44C2BE1E9B622E8934C6B90222979861F1A89 +BE1F41D1E68910404F0E53851B8955C1BD99F92AF952E736E2FEF0AF768B9A2F +BDAC44D8167A705B9B91F17796BEBF45666F32714D158899CBB6818134829B35 +27EEA46B37916844A4ED6EA1DB6C3DAF66FEF84BC095C904BDA9CE9388E09D40 +80D8723585600F9C024996C01857F44F4C2F10EB24C5E4C99C1FB6BE46174FEB +0DA222EAED2D4CF261BE9EB24EE0EF1782E075A0ADD653F5E05BFF4C9E1D5A04 +5A821C376579B34D54BF28F55D967702C96A6C5A552D55C614B4B1689F7DDC97 +A940063425E330B9F154AB0ABC96641CA8B494509F72D6B9C3378DFBD88E2961 +C67751A36C59E77D930F1939D6B5861176423B69866E4389B9FD6EECF71887B4 +57DF13F2F86B5CE3F56665E376539E9F1B92256185A61E30A29393B95AE3404C +E1979DD13CAF1EA6B654E378EDB6A471CD09182F578D593ACD9FBA780682FD72 +D0B45CC90DCAB0D5CAED2EE39FAA5DA935820CF6DE4E77518C14859B3DB3A611 +AF2ADD391ADAB116D038872613C586E58A2E7CE0C387283E9E301FB7F61EAFC2 +2315EF6AE4BB9199B5B30A6ECC7BE93B393BDA0D565CB3B9CF2923F4C6D3626F +CEC8A7CE3441FCA79BB25987EEC36B78B6F18F87CB9C167EEF297866C7524EAA +CC8E5732D9E9D2D43792BE3EA5B7328AF20BAAA203F731B5CE600DF471C426B5 +88388F81F5F0BA6EBE6E4BE25C0862B6410507C6F44649521C831E794BF5084A +F11B3FFB2FC371B22589C174699892A622EBF13A62A5D21F95A11E28921CB346 +2A1A01E5D870664D158C97F177009385C76197231AB4D0E1C90FBC0C5AF9991B +689BF14CFA6C64E7B1258F4EEA28B543E2CA4E62F2D0A3FD773ECA +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFTT1000 +%!FontType1-1.0: SFTT1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ectt1000, tctt1000, latt1000, lbtt1000, lctt1000, rxtt1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Typewriter) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch true def +/Weight (Medium) def +end readonly def +/FontName /SFTT1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-208 -360 1374 838}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747 +57609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9 +3894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4 +41C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E +ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F +BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0 +C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508 +2666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C +9A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215 +EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1F7797042A1CE8 +F39E2475DC2936BFA24A71D879CF46FE753E2C63BEAFDC65589FD17B18155220 +1044C366077F0DEDA5BFC03931758CAD2A066BF49A7C1889BB0582A174CE59A2 +59693720FDAA7CA1BB8015F9BD51B468C01600BEA3AAB225F4B800EC1614FF01 +B5B9AA6122750A57EF7694D92C4128F15BC6AA1BFFF59BD99696A942A03329A4 +DA4A4BB6688CF1633E3631EFCC8BBC4E1E846D5B831E795053288965201B6D62 +C485D993C7676717C6F652970F8C71AA5948C43E2613965EA9CB1FDBEF39EA12 +9804EF497008E1665E769A11316D98C991D65B35E667629F1A83377B4440FEFA +2316C3143FAD6F4EFC2480E093CBBB3B0D57290ACBC802CE585B70BC89FD0400 +AB0D76CA8CE7E9E4B042C6F15C00A965B4CF8C986FC975B41877FD2F7B8991BE +92E4F228FCBF7E51CD29ED70C5236A59B5098A689930DEE73D114EC6414B19A8 +C51FCBA6005E793F7EF33A6AC89F8075C30DEC81BAB27F3973CF898C308445F2 +27C37CC99307E7D2EDDFB0073070337FB681F73F2E43061F1D2236B326103D10 +CE9957519DC15C5E6123AEB1AD8C87F74965E2326DC9E018F96DB9F031C527F1 +427DC1009F3020BBC82F52A7957E4674F4EA2232D4114834A511BD053DA38ED4 +9C619CBBD8B273A2A1D12D74B161A800FDF0B0B1A8C29D9CB9E207BE22F6378E +5764E59B1AF384D8654E21B4798087F2B70245683C7598991B7971AD959C8114 +374B2C5C17E2AB9130B642421543DC77566E0658A3230D2443A28CFE4BF80988 +B578C71908F2165D39E588AD8CD668493FCB46571A5E2DC20AB95C1E01F539C7 +495DCC3506D9665B38656B1C6735F2E4903C3D9A5CAE8580EEE684E5FC47B8C0 +72DCA309FC8C5B8AFFB5C5C8813CB052EFF2E73C4A53C193B3888D7F0A43DF8A +49D4EFBD56A6A7AFB5DB2C47C7A6B6CB3DB7D048B7EACBE1CA0F60F794E41D60 +CF5131DCE442BCA4E670B93B4B89397E91919EF8DF9A36F60320139D158B9CA2 +F8E93C1F0AE8CF59D623D090FCCF6D6AD66E47C4C503F5AD782ED4BA8FD6B959 +D5E5DCF2E781553AC903944A0D64CB893874114823A05F2A2F38A719C2373607 +49358DBC1FD1CFA6CC0B73C6CE231015DFDAF48360371D61B0D523C06678F931 +61CC97D03C016DAF742B7C96ABE807EC5FD9DDDB48BEF35922CB4CF649C3503F +09911C57F704575A2E3547481E6F365643205C90D1B145B394BAB0B56007BF7C +C7638FECA128568AF90469201E64134B6D968A2F1E38D20B0C9A9C9873D4D6C5 +56CE0B113B53DBA617C3277F59A41F129ADA297929914BA65AA45D2F0BFC9BCB +F13C49870D17368E6E655B321D70FBC7D0F1E12D309A24544D560CB3BCDCC053 +D86F455F45E4C4476C08318B70D386CEF4E20CE7CB4722090265C89C158A1BA9 +348730A9DAE214BDA6CA97DEC6FE4167A888FA70DEE5B1CE56815D212539DF21 +21531966A4FD7DDA9498F6710A4716E17C3829CE4FD4877180A3B8D2A1DEAB5F +005E49E79FB981B5CDAC4E05D5B7B7BD979DC57863EB039C8D9885DAF4095A1A +876A054D85D2C32FB58A5E3A0F8F21766DC58E46B447335B6ABC0C952107129C +6D2F7025AC3F86B32F0383A87B3D74498463B350075D682B7FD7B008602477E0 +E17679FFFF591DDB337A4C5CA16CA40041B87E1F0CB447DB5D69790A3CAD5161 +715BBE6577DA7B5642F97B047EF82E199099F4E035A443EB52D755CE80CFD3D5 +180D223C92CC05887A552AF39A3226A85688257A0ACAEE74CA2C60C50747A04C +E8B24764D050C43A37597B2A807669B37EADF65179AACF71809E2FE040F0603A +5125CC8749B0792422AE7DD3DE695AE830FEC7280100B7438A5DB747E46FEE92 +CF64E7E6A79BDF0F17F399854B5ADBCAE31AB4DDF4392C2D008D745D290CA44A +26EB148E00C2331B456E30F9B29425C2E6BBCE3B73DA666D16385BA6A4CF2F31 +031957018202E91FF38129A1DC67101691BA63C29C3A6225C428A72EBBBF5EDA +19D83869EFEE31289EC203D44D54EA89132B185D5F5010E54AF1B227F9FEE4E2 +953342626EF81DDA0F01CD4E367FB5BD58074443951308885DAAEB9A473ED328 +A9E1117E316216150FDA64CD94A8CB8582B36A070B070BE6573C82584E261A1C +4F6EAAB676E720F06A40B386A9E6968BF6DAA0E1A671EF99B1D587C464B806EC +E1DEEF5C791A36E49878E16F092EFF96B6BF4E1AEF672B7DCAFB475E1810CDC9 +ABB2E9415DC4E6071978BA7B86885799F51B86475F3CC24B135F82BA9F5DA055 +0808AE2CFDC476B635511344BCF63E09DAACD30A86AA97CAB22BE70E0BAF94BC +2D4F757FD2D92405876E5B62CD35B5F1224243A9295C84B5D2CFC66EDADA202E +F23086E3B533ABF7C79160207D979A968B940908D65F1D6FA995ABDB0DDB8D98 +B31DD25B1C97585581FE1ABDBA264899FD8BB1A26E4C283F7565A75FE0D8F0DD +3FC02D26B2766E577C4251D4853ABB17909E57392327DB9D09E35E4620D18B26 +A7B3C39D282B768E6D52D4E391FF23ABB06ECB9CF4F2318C5845C333FF05B9C0 +90DA827BF8D40B4D1A2C270E9F7012B8711E6F7285D5241ABF47EC404A81B6A9 +BB2D9C19FB99A2F6349C73D488961C0D203C995E7B4F9D76DC7093A2EDAD2B14 +6B0362656BF728154AB6B5C1F425673B34CA0E705F28A1EDE4273BFF14BB7E08 +D5D985DDAE01532CB7951416B89E3A4527472AA97B87775188ED740BB8936DE1 +867D7C5CFDF28F8A46CB87DED2564B9B7B6500ADBDD6ECA0DBDA155FA928DD54 +11849D2D1EBE4E3590D1D0C006DBED988E33B7D90D3BC021B9530B25897B461F +6F73384EEDA74A8F94FA5D65CBBF949F0B461AB7FFB7086E252C67924FBD9AA7 +D152C36BFEF08A6FCBE03A77CA2A9B790591C1B6BCE260A08980D4FF46FA16E5 +64810BDB02559E8B90B384D0F3BAB44FB8CD1C47F94C807C9FA1BD662287328D +D1C4FB30ACFFC018F46AA386EB1C7EC5148AB2B9A2D1449253111FAA6D5196A4 +7C66A781B70228D645BB02F7E34FC5413DF4043D7366CF3B738CF40765F3F0D5 +160260DD49DC31524A88C597DC8468A0097594875138D6E4ABAB99D719EF3819 +CE3C02690267D3DB7A027E2E9AD10EB2377642839F5BF88B037C97CDED504D10 +47440838DF57CDB61132BA4E9789E83139B2250D1AF45D7B3EAF0A0CCF457DCB +C891C937B5A8590223348E583B708ACA629AC90E5DDCE728DB55A59A2CD189DA +04381B8A89CCFFBFA86407A133C0550FC35102731CAF9E2E219188350856B1FF +333F0267B6CB8CA666215006C9511786D8A31D1748622483A20A40492CC4A8FB +539ADEAB500B13EFDD792DF12A7CC63B5B75FBE2AF8F77EF4A390FB6028AD884 +FC8A25BDF7A4AA59AAEDB2F3419C17C0C2BACDA129495A0DCBA462D58B23F405 +598AD9898017A55E9DBF2F34EBB244773D048AE37A8C0E86B138CB0E2E5874A3 +F32D7D55815DE48432BBAB96BF9C394E36E4551F17BE8A34B9B8DED5E017FB32 +B5CB9FAB426C90CF016B6AB8429D0486EE22E7E48F1DEAABF717F9D092DF600E +465C91C83961232C5005066F234A334480837D71F84D7A0176EDBF89C7C51FE3 +7A8D9A77D29CA666C46C7A182347BD7837CA4B2868279FA9CDD72ACA8195737C +7D1AA33274C3012431411F730F8F7B9F42B371DA95ED6F871F7EF9D23EC7B1E5 +0DAE5204700DBBB0040E5D7EF576D995A6053D2F6D7B66DA87A1533DB0EDA641 +E24CBBB11341F56826B6E811AADFCC865B260D204D0F9E6863D0A5BE19FA101B +88EBFC9AEB25654D7609FD9BDCAD47C282AD725F2115E4FF0D00EFB74ACA8AA3 +1889A372F349A80E6AB44D714042BE5459B26B502AA27CC38AFF357AE6A53900 +2A6F111DC0E1EC2955C1741CCF689B9936DF4BFC4169E55F7124D503B3FC8CAB +5BC735A8AC6CC6CD84B69089EDD9D9E9D4E9E1DCB2C2AA2FD0D42E5D595ACC5B +377A693D547C54662D56705BD350DB066AD3906E061403C4ACB7D926033F767B +7CF04E1878DEB73398289AC51FA285DD573AD8351FF5A2DF77B600F65C43FB9A +1170F87A7B93755951DAB75CDE41C9AB87FF4A3C0642DE3CFDE50FF58784936E +CAE75AB6621737D0038CDBD5145F0FAD8F48D2617C371AD2430706B3533DCA6D +53423007F10788F4CA8EB2E70F6C7F85853C81AE62A672AB1CD3BE9F8CBA6147 +E6650683D3506ADFC6B93221B94ABF2240E2A71CC79A3AAB0BD12641091F0437 +0196094CE0D6A735884B0FF9C7ECFE22AEFB771050062D3A32D368C2080CB82D +852C8994B9C760480F19C7AB91209866A2DF316CBE4C5F66AADDD91F5566C6E4 +54A9293E6098E23F8754F16EEDB301F732B2B8E0A0BB9CE60BCF90AF2219C2C6 +709E93564A44AE56F46397C1A13B9B8230B750CD8DED6CEAB6E2FFAA5EB8B704 +68B9C883251C000F8CA08911AE9F92D5C55721D5A3D4251446381F0BE1593DCB +D61A0098CA8DC95DB7D76DAFD1ADFBB7A95E614F2B3F382C3E3D889FDC79CAE7 +859B778969438652EC9FAB39D7E7229BF60D804CAB12CDBBE899E6428AD036B1 +6894D56733F80BE71815EA32A4464964CA6BAB229830CA86F446D702836418AE +EB3BABBAB53F489F6F40A677701401FB744D3FDDD905D1B917821BC4A3BEEA81 +EB1E25B8B7A26FF50CEB02308F1017345781971846BBB054A5ED96A85D73655E +D39839A29A59176CAF28B281CF2D539CF52CC6B6D3A523B80543E5C5BC117BAD +EE7AF4F435A714897CA1F692BE45D405B31E18DF51010B078F87BF7A118A9E95 +B32BE62AB65C32F898D5F9FD416ADE303432D46C7142AA024752680446F888A0 +49219F805C5234B34324EB8230F9DE24876C85EE6C874F1FC02F482D3C35939A +D5402B9FF25F128794E8251BAC9DF7903F684121B4E94812780E1B31CBF68174 +7FD266CF682FD125D77501D606D116DD87E53498554C02271DBAB03D03C86F3B +D362C41DD7FCF07A1BE52F1EFCFD28E53796831C17BD9FA5BA906BCDE88AFEB1 +28AC8277D947D080B9EBE459C27A9DADE26221A016066AFD35F3CBE6616842EB +764AA3D6A504892ABBFDB04B5EC7D3C8E69068F30CD463BC757AFBDD141A36D3 +6D7C8A8421237F5E84C46AF675002AFCF312E015A27EBAA026FA7A544D921800 +29E624F2ABE0AECC6D391FEAE0DCC445A5C53D8CEF3E46E4EF8F8F3488250939 +7573EDAF90A4DF18ABBEC8F6ABDCB407C71CA45EC8D45A2424561A6F9D36FB76 +A714B5E2F6E508F5C083AAA8A2C57AEDCC25C2A6CE7BA7EBECC4F9C2A0F1A167 +444F363854E70D2298B815068C58BCA91885E74104A683274642E06644521D0E +86A38C600346B06752666973F4CD5635455BD6FF14D50CB1DCCD2E56FCD72D9C +67D2ECF30C6D99EE6740095586AD5E67668D5E10B5ACD3A1F34ACAE923D009D2 +A88D0C730E9F51B7608CE98C2071B8EB9B760218116F1200912C0DF585CCEA93 +7D81A4C56E85C49E1046B825E6E51EC5C12CD1DEBEE93BB42BFA61E16923C8B0 +E9551CB7B408BEAB7B01E971293BF6B237DF6F81CD1B17E8E2FAFA616D1ACE96 +8363BFA08C5031B8BF2B867551BE8C78234B6ABA804AA79FBAED815CD13DB9EB +7D8664EC6F3CF2D7A37A8811D9ECD9008017A8EE5071BBBD6D42C75C2E333816 +A1331E7AE419A1D07C3F4BAB14F678725C804C8038216792799A76206DA6F8A8 +C0D0A0B7D6995AB4BF80641C1F340A1BF768DD25A05DF2E27D18D2C6FCDDCB35 +3F1D40E461C4859F5172B69E1AAEA8D0BF251C0573F0379E1A96FAF6E8D4EA87 +7B0E32D0191E418D036889E73D8F4082594C8EDC306F8753B6B05165C6BE3F89 +48E5A8C892AC942C12CF6F8C2BCBFF1CE76B4B0966C53E3A3B0D9FEB53EFC640 +D25B5C822A214878CEB4141A00F85B5EE818461F5A24D207238CE13E25AE2C9F +9850AEEB66D566CEC7FB666E7897473CAB6683BB18DF86BE795E1FF383AEDF5B +51EAD818B276D7DF579A394FD748651F735A15A38A79C8D06FE44D96DA3F4F4A +64F68FE714749A197A4731EB63E0FF2CB3CB4C20D8AA9050F3077109A452E9EB +4351D7CE4C8466D99A6B5E6703526C18F4FFEBEA04314EF677B432A407FC3C3D +09B51301F8DB6945841A7D57E124AA20048FDB60F5B7127CD910EF599E7195F5 +FE5336A8247990B75EB602AC8551147686B1F50867CA015D3978B9CFC3BFA870 +214856B16DE4DF92802CA429A4734AAA7A8E15F91D25EB006A10EDE7446B6C20 +AFAD9B94D447A1614B3636B6A7E621ADFF237E9135E28F1173E4C47654CA1ED2 +4F41481153D90B7371BFB1C4BA3248B8E9F566478C522E1C2760B064559D0503 +C4BB3ADF55F4C8A7A026DD0A69B38E393AC2C8110004057BF9DF430C851718FD +95B5504D4932479E48E7E85BBD023FC3D28ABC1F7C21BB8ABA0C945A3B9C06B0 +18DBD0CF1B46BDF91F6A2A22889FCBD730B54966DAAC3652475F29A5573CDC99 +A23EA5FF4BFDB666C49BE08571244EC8AA811E5EF31ECD781013A2AB8EE4213C +F001F5A2E89A41C2FD72D65B625F9BE81E9A3D106138C21F43EC284C0804B778 +6C224A88A9F81F469362528A78C899C531EFCDD69AA98D0317E182A20B24E56D +BB752A5F90F941B274D98C9CAA11D4B1B44670D943FB3A4B59EDA1F766D0FB2B +3B58543B3403BE46503E917A73197FEC953C79F6D0E430ABCB066F69FBA05327 +0FEB8A24B15286EF3157EE25826AF5AEBD9210ABD04515CF1566AA299D28776A +7D9127CDBC812A7A1BD9FBC456DD79E7F189A29616E96407A2967E6607678AFF +EACACD957127800C14210A12F526494FDDE7F1256189BF1382EF65A786679CFB +5FA5F058FA48F6F257F934737F41CD6C5D5B514ADC7E3D38D7DFB95A85F95EB9 +E16E2938C709DA68B180A7F6D08F1E6042DBCDBEC93B08EA55A8208B15B3999B +814D50658FC41593B994E844FA61DA13E2944C3A15D1983D8FF658B4E4B6E016 +4DC17B9B2D7A5C0CE7004E47D28984E3BB231F9B2BE823CA8ABB3BD0B0B339C1 +FE3EC4C064E66A2311BC9693F3D0489C50D8D3FD070C486BF3EFD0C036465D67 +0AFD502DF4C1AB403583C928AC4173A43A7B825C2C67623B12EA02AA67EA7E1A +60A26CED51F1B2F763A6371F05029340A32BB6477A05334C624F5882B92407F0 +D29D11AD06F3BAFC13D97E54A8BA33619EF88EDD1276660C3F6D10188FFB7C69 +1A75C3064BA8187484FD925439D79DEFE0B301053F9CB8CCBF3D9CFF436C37B3 +B40C4C9DE82D2B856EB27BBC2DA4075F9AA787E3AAB686093BBF1F6D6439CD63 +51047A85CACB17666FAC752200BAA227236AF985E13DC26F9CCC64406DE5D90A +0EC78EFB6F9D6E3F13BB1F1F73DB96EF2F43B98AE9B8AAFECF0386C2C12BF63A +091BDA8DC38B9E9BAB4CFD0414C1E26279776ABE590F7F2360A7322CB68667C4 +C42DDC9F719976FD548D2F87DEA7AD54F0A56D5902AC1E56E86951DEDC46FE8A +9875FB3AA771E57926A5FF95672766EFA6F78D5F6FA9E78578EA2EF20252A869 +A5D05695FC1F275B90BB4D110BBAD769E72D8B6D636E17D9385659B9224A0888 +F4BD685A9864F05F1EAB073215AA33A0B045FF4BABA91AF4CB1A21CB0D12C410 +11E99E553FA98F494A4E80FF15912E762AA915F9D0CCDA9D6D0AAC8815FDD47A +9A7B5889ADA2C89FE6F77C8B07CF300D39DCE33DB22C072CBADCFB1E70FAEC4A +0BCCC84A00033A28AA9ABC971AFDB87660AEE00DC098B3CDFE5B5AA49F923426 +DCA91BEA8D1C85E1DC21B21E89E4A8B625984095150CDCEB505AFB2077F3B799 +75EAD0E03F21DD780AE10B38AA356AE01C55CABC65EEC6EB4A48EB5AD41941E7 +FFE2E16A653DC385E8FDDA1B9EC3D923F68C15C23762E5080D4B96BDF3B99FE5 +3DDE41092EFBFE768BEA738A0340BD56FB5C86C115432E7EC81538FA1F7518FE +BA8B1DE9F90256F708E878B47AE7DE9F0339DAC4F30270C0ED8D059CD6E1A55F +28866AEB5DB0AB4365A84355FC7A0AC358010C359883C9873391EE640A47BE5F +D984D7B9102FE3B76F5D283D9EB5AF30A3F9941F4529C475E5D473CCA759DF74 +000D4AAA50E2C4B396D944701CB9EF8534AA6784E6594FC3D6B57700B115E4B1 +283FAE9E4BF83897DDCFD26F72EFA374935E68F7527488B25CA376EC614BEA4A +B849C2355AEDCFEAAF1B36A4B19F80378367D1C0C83854D45F2EE5368A9E6D98 +EE5DD441AFDE03D1D1275C361B1A766262D2B1A1AB776AD75E9AD7F3A170A87E +7A66931EC108559B53DD956C071723890FC7E35E829E2F8184A18CC89B89B019 +09EE55639B95B350455BD69E29B64E8C9FDC96111549EBF88CFB6F9D6E3F13BB +1F1F73DB96EF2F42F04792B4576BD85457D8F23A620060C06EAEB4A400109BA1 +95AE8F8FA23C07E45A72482896E0DCE82EE449EF82118F07B7C4CC5C063EE4F5 +5CD03A9295F44F79BFB78626CBD0CC4EF9443709A499321715A18BF8445DB96C +DB5E597C4C53AFE6E66913D3A897198CEDC1E9DAD766A096CDED882DB34E1265 +4BF5CE400B5E3DBF836072ED471DF04F8B764CF5DF96395076772A359FB2DF0A +D89A592F52198A6569C06585EF6D1A99402FBAB1AFC824E2B4185519D69D84A4 +8D7F94BEFF657959EF9750028DECD616F6D9A0E87C09440EC4067167E2F94439 +CD793871669471556217EAE80B0B15014882FEEC8C9515D8E5EA7326EA3A84A0 +AFAA3A3689003AF20FAA38D2FB319A42C704CDFA38D00DD181A881EC11A66834 +F578B65D50C22030ED28F8B08DBA25871C468685029B2462ED59C31B4CA1D152 +B689BBB4F12FD99B9DDA73263D25AF07F4EBA45699E4BB7662AAB7D35853A9A2 +2E7D0490827DEAB840559364C871FC632957E34C337ADEA7201CDD73F522BB21 +829737BFD4E9ADA1387512E98B21EE4E016B527EE20FFCEADD41FF95EF7C0937 +2F2C81E804FAF02E65184BBFB93CC260FC98F89D301A67FCCC3ADFF44DEF32FD +BE0C5D4FEBA843BAEF012940FCF6BAF7CFADB29320B06FB1BEBDB8D583A65FD8 +48EDE89EB679AAF16A6915909F2B67CA60F43724210924A7EE8CF146CA8985E1 +FE9D341D00CE4A3C20E7108D5BC85D7A354BFFC18E6A4309069B4D29B8780324 +620366F20EFAF3F49CC767C4ADD9AED4DD342F6BD1F58F44A32B4B69BE873FB9 +9E6B03BB06E190C786A258D699E6BFFFC94BEFA09929F74C066777C0EEE3F46D +5964CE8CE031D2246BFF5CEB95637073FC36964D5D235898F90A8F9EC168D8F3 +F0D19A5478BF8C7532201FBD807679F344E0B89DA7A1A94773BC1AA1F90888F9 +574E6263837E6C89C6B147D977BB0EE409B509D7884DA5EDEB4B417A21BAD240 +62D37A3B63B5106C16F763F5A74118585FD6336EB49D655B6C5724EA082C8B2D +DAE96AFDE134B1223D2A02F6922A1E6C0375F2C85A6C1F0C709611910A9CCF30 +7F6D71E889F3A3AEDBA377C49BD73551EE33D2181C5FCA0E5C1334331B00DF5B +0D0FB1E381BF7904A96D4DFD0595CB6D68524816961B459205A04DBB3106D8BA +DD31C832B487C1776543BC136CEDBC7768DA2E1E7D41D88DF6B71C6DCD3B7A3E +6DF18600E51B9CB6F5E40E6AB442D39B8DDF3117169AE6FABD5BEC5A6D4479CA +09754EC4FF5B5A012DE8E4D0FB41685ED114909B51B46F37163C30A3E6AAA64C +A50484708849FC2EA4BD68A4878D02E16C29E1B4D1EDD55535898FD82F8CDF99 +8D154DD37FD6DC5EB0C03DF892BD3CF68BDF8A180D498869E6DA7BF32FD8BF40 +FD9DF0F6197AECE4483E74C30C6B87C58C0F879CA6E6D86A6065AAC962D26847 +BA338048B5C0F4FF9B7A027A2F0C9B1B0E0E0A2758D703B135945389E00FDE71 +5A12BF0256ACC5EB54A166B0844F3E2B85300042F83D0FB78671CEAE34CA174E +99FDD2019DFBAB30D236C7E1AC683FD9D4AC55BFB5357C9B8AFA0B208A66C823 +D92F2190F679B4AA238E6997790715FF3A7D193D29AA6E064CE74632B9FCAB8F +08F414904BB943CBEF6C5A0E0F782934492BA0298D1F27766AE939908650C5D1 +43A29B56F5AD7ECACCDEC2C22F0116C1AE65B566EE84451C87587310AF1C459D +BC8383A2DDBEE9E91C51725CCB20B2DBA38FB775EA6381B18319141D0F640C23 +FE11241E5E5A735C0F03483314B5B66B1CFA2112A88D2EDB3CAE1DD1B07F793E +BF81AC8A49B118B30B722A9A239E9C090D34E7152B75D38846B1FCBADB2BBAEF +975DE30A4C54C358E25AAB98F555FE41A8934276B8DB71151A5223CABBE0A285 +32BB1E7CD5B961FE37D6C1FC7CB28D61FA5DE6B930337F59F1CDC9101ED5E553 +AB897E1D4B399C60C1D31764B442E0FD8FB0F64592C48ACF4502373E3A5348F7 +9AFD8ADD64A0A7A8E208EC630E1834E7884D372DAB56438F1ABD0AFA5C07CD9F +B7EF6D04ED4AB2CFDEDC6B66D1E0999B1F8587A8E6377DA1F5B665B438D0AFA4 +C6E7E81C1AD7B8FDAAA92A383826014909EEDEAB4FA1585EE041F16B13185158 +9C5427FC5AE2C80C3C6C6EE5F2571934B834C09F0382F957BAB8C4EAEC254BF9 +57FEB935764507DAD1D156FEF121AFDF84668426C4EAB2299AEA936CCBEF4183 +7673BD98B1CC22BC42E4C7CA56235F280A1B098A78B1E954A35EC2280593CCB4 +1A92B9761758DD36BA22A9A8AF83C0BAF60689956A45E64A4B4AC7C6D2E7CBCB +60046602A6FC6B851D58C07D20CB3ED1B6827637A805D8409FB7FB6329E44BA4 +BB7D31EFCD46CE22625C3F77FA97E827D07A1F1DEB1CA290E518A20604ADFDE3 +3354F37F2F1460A7619ADB0457A1F423302AAA7F1CCE1A08A96ADFD7A0D66FD6 +003BFA038693E420353870922B9DBA3658D26ED8804E63DBFD9635B4FA44FF9A +2DB58AEB208F005BC288840D93CE8B43CDC028313A7DA1487FBC4AB1C1842F0A +5266D5122D00C0C12130E00F6F434879B74127DBEB77437A408C35BFA7760367 +488AFB9DE892B1AEF2C3DBACD21613127F49B87DC3A2540B73E0EF4601DC0EDD +AF6ADA62C68879679485698934499738157FF184D20486B00BFD6ECBC7D80993 +5CA7CB827B4CFF9DE61704AE3E2FDFB5303979CE2E690FBE869A352FD3012372 +F5F50B62E4E1C751EC21A85C9EDD308EC0A3654EAC3D7F11E8AC439771701C8F +FAFD897BC9C6E093D11AC1B1BCB48BC643EAAA929A1D4FDEFDF0B037D4DB2FB8 +200E2D718595958A47E665A5AE0826ED4BA2E9F16E3C80DC2BD0517C37C5E66E +1A4AB402419224B691FB11A7769676912DC04F6EA1C569B6D3A3EAAEDD0BD057 +586AD16D5DB6039036132D39A440B46165FBFAB1531E6483CEFDE9D7A8A0D9EA +B462BD85C29B1BBE07864314B9EF98E3FD411C35CFAB4328FF9AFA383238F60A +BC7E57C953753548797FD1F408B1C5AD935A40D2BDE614D343A17EF3B666EB21 +52A3926B97DED6574A1A9C83F60A56BFAD8971B8758DCE3149285DDE1AAE1F4B +CB401296D15E5C6126E3443D41F16E97FF2A12FDAEB88773010B1F1AA68FBF03 +F004B65B0209209CDB01F49335D95DE480459AEA993B1A8E7152B690D8D57EE7 +11B0E98D8364936989F8DFD7C6BD029122E7DA3B1F8128ACF24B559DC47BFAEE +A5EA01803C0FF1033BE01128E284D81AB576C8D2E6E71EEAB6E93910414F0EA7 +5B223F0421D2F75EC6106C4A13E817D8FF5FA42DCBEA02FF29B64C360D5B8D07 +38D897A538D88D9B5E441590EB25F26840F533B9FFECAE81E0EEB35BCA1FF7E2 +5EEA35E306BA11635BBB6361D5378232BFD77DB099D52B2229CDA4E05B38314F +6AADB8564795031C2883F21A8F27FBA3E1DBDBB2D37FAEA29EA59C0F040CF9D0 +8057C9CEDD3F0083858C1BC2539B6CA23A8418AC968906C5A509E50078B49AB9 +0AF028658E621F55B331890A74C6A822AF7359BA3562E5BC15DB5E4120CB0A92 +E3F3370A0216FE0DE36E788D33CB2BFDCAC8C30DDEC0ED585E585C6126E3443D +41F16E97FF2A12FDAEB881454B8A4735F2C79F25B7930A9C69CE41441A14422E +D8EC630FD949B7EEC2606AB346F667E05D7DBF0043A84CD19EFED7D65BCCBF86 +6AE01EC417ECD42B8D1D6FE49724DC7BF38B98BC11B3A59C930053655C34F921 +332A5B15B7EE275BFE52845A80DD99643F1786082F7E85AE5161C3C3EBB3655E +E3F29EE24CD27CC0A4FB07CB3803C83FC4B2B3A78354D0E954278AFC74C77C98 +ED17D4D511BB3C28CE5379CF6E561B155C720BF9287911E93FFF1AAA67D0C3BE +D44A2D79E369B1D96AA5C41F946B9A294F6B673D04BD30A1FB997A7A26A7644F +0445359AE31AE03EA362A97855EABA676B6984520897A55A25BE65ED13BCEB2B +B0C86C036F2E0E5008B22AC502A96C815D6E15E1AF4CFA20F1D4F46F225BA8C8 +659792B456273B4422C594CD306613794A1D78B294AA85806BDBC521573B6865 +FC8ADBC92B86F62BE70941CC72F3CFCC098CAA2F521A2A640B1244D999ABE068 +A0201D628A9206F4691EDD31135B79628EB6261A861DE26CBB0AE63E6694438B +3D602190E7D58DAAFA82132FE1FFDDCADFD4C81377C8B8BBF22CF5443F03CF7C +7A4C656B329C751D9AACC110997A5CC84D1EF86C370EFA237E333A7E22BDD9F9 +A8223F7E3BE4A245B091707F5B73FB24648387F15FC584868DFC551050E958FA +CCBAF383B70B03E31ECF9296008E7E14A0C8FD4F4FCBB377CD4FCB267FB1E0F6 +8E315C56035A8FFEFF815AC6E2BA30C4DDE0218E6BB90C96ABE2D5ACFCD87501 +895B4C12F6FF094944AB2B8C6025E035338A53DCE6B389149BA88A6BD774E7BC +3D775CF8635908D0EAD76F745E145C98480B614B497A452DA716B05A622439D0 +C0DC565AFC9F86C40B618FA651F9BE192578F812E5286C24E7DAB522E1F4AA4F +717F6FC1A28D9ADEFE78899CE46B9008C808E2331F55F22AF8E6DE837F563BDA +8D554C43DD2CB687C00DF5FFB4E64A8D0B29796AF5C9812F2C6980F6082E7DB9 +AB152394A44733ECDFE98953DDCA6F6BBD4476158E308B6A4F413A567B1B47FF +0015EA3478504249B082DC068BDD21BBAAD7F22D53ED67A0EF44057BB1512B0E +59A0D741E384B6BA9B38874661DF5A96B4A62B2EF5319D08D8FF512FED3E63B7 +58FCD495A44E006FB412CB1D74FB02D446A8FC0C8133A84721DFAF10426E3110 +AF168E8A1A2CDECCBC03A0ED7B6510819F6D4430EDB088B45034BDCCD85181FE +A89AADFBBF1795BE768420D36F7472A72487D7BC29ECC169B466DAE292D82A29 +A1408073FBFA39CABD1D3E005374772B7BA2DC611215A54DF064498636F2E30D +B2F1CB3DBF5C9072F60FA592CBDEF437D74FC29AB096B64A94F46FCA7003A222 +51C2BEA0FC2704E7CB9FE42B02F1C5A129EED9910C3C63649FDC8CAF160FAA8A +00773A6FC77227BB9109CEEFC23CAA6AC4AC771A7A9122B0D9439184620D64E6 +2BBA8F01DFC0EBD21DDD87BB6FC299C48D3BF406A132E0C0C05EE36342942ABF +B7F8F252EC70527E2614E9390E31647B34FB4F4BF9DFDB49745C71EF9E01759D +ACC64DCDC7C5B7562B0B5B7D111AD8538E5C96B3C3483531E3DF9F0377CD2B1A +84A01C795AF1E6D48BD6778C227BA9788E48DDDF0DF942B87D3A7155DEA85128 +98CDA3AD587269922F3BF63F068AFF141145E9E3A5558C4202B4B61395653528 +E85CA52D6FF10DDDFA8675CC72516F8C50ED9620DDB62D651709E14D4201384F +2666A84518A2142AA88621D2D81176BA98D9A5895B8EEA6205215E4AE4456332 +0D69DEB7D901F49335D95DE480459AEA993B1A8F2272DA8844EB5425426DE443 +2AAAB19E4ABF72035EE6521D41BAF09A62BD8BCC4CDB858302400F780F84C78A +FD2FF6750E6A33A54BFBC084DE81466C56591BA554EF5D757446811AE3EF7F02 +3236D34C0000F2F3136C8B83FDA302999F0A1255E592C1AB0CB1D9948A2E2A59 +F8B1742AEB3CDEB3B476604DBB8C7BEEBD84C17B295C99C4EE2418D7069A3F8F +AC34BCE1640DAE78B9D00EA80BA14AB1E0B60DCCBA7F7CB2310E08D89635A472 +A2DF671C74B2791EA65773E679768B6CDE2E1239D5C4E70AB2B88B24D2A7E6A8 +D609BACAC74C18F6C99926FD7C3A3F37E15B750010CF1358C94266F6BB667061 +5D883FBCDEEF6F2D2FBD5E69FBC5ED80B4481836492D0A452AD422880BDAAFB1 +48FCE2FD8C7416636B23190C01E28D768768D62E3196DC56CF511C1740FF5DCB +FFE8F2DB95A06948135F748A5C51ED13422D16E9493A282C0416C7AC08B6A1A7 +45F83F1ACDE163362AC0E6635F833BDD50AC84EE8AAB6F15B42EEEF07A21D848 +8348B85E9355B1CA091B788D218E73286B897635CCE51A3A5197A1A5A28D242C +601D7156E2CAFFE9D75627B7F5E17E1975775B62121C9DD9C4208BDE99766E53 +E87681D0F6227CC9B19628F781B150860D0D01F1C5FCCC8270AF90627DC9C775 +F7BF9440D2631E1F1809A5FBD84954BB3505DCD659B2BF1621DFA6E584333C38 +C766AE282BD49866E13BC4ACD9224F0ADF973D8E905BE1D53EDFE9DAE60211B1 +54A5E95314EAFECB96469398711001ADE80BA875935F4B381B470F8EC3BA011E +B3FBCC801CF04261F97988E5FA87693B20BC52584238681B1FEDA48B197B0275 +DF2DF5977ED674C75A31D82802C0F04FCB4B9DD6CB1D746E055B9517B3BE8D4A +CE080DB5F5641CDE1F94CA36C0411FB479F8AED77C57E0A3DECE776F2DE35806 +43C2FF74532ED4CB1E9D646229D1F4732CB2357C711BC40FBE2DFD45B7CE6A03 +0BF267ADADEA3B09E1A3FA4C1ED8E6DFF061F3DAFB0F0857C29192867A14D1BA +0C8C10A5C0648AB8A1F7E68C35848C100815B82B72A98EE2D78AE5FDEE28D417 +FBF2A17C4F3DD614960CB5CC2DD64BDF00B9C5923C7F62D79CFA9222492F7617 +EAEF8A2E677760B57ABFC9D9B5BC3E26BF856F4CB223D90D64677C00BFC3E7B8 +C6FFAF9234946D3C60A0A3A977B37516886C28EF3CA2F75CEB9BCA1C35F319F7 +7A136CADA3BF2485F16EFD4335811D7615849FA8B3641AE4702706DB511000D9 +E1B4D14DCD6AD90B65B133189BD36F932442C0D55E062CDFDE27E0390034503C +71ACAD5790A4F95E54057A12D3CB0A2EDF34F1172E84955B590C7887F60DA4E3 +BCB74A19FB5C753FDBA67801BCF0DF8AB8B6025C64300079E65214FF6069BEEF +266573BAD749B169A312C95C6F22DE6FBA80EA8BB281E7AA88E0740F8195CBC9 +AD443F6E69C007FE1C06C98575E4DD443B01FD8DC906C03F12A77F12506C02F1 +A02E5804D38302E0FA81AA5CB2C343CA865E2210D2EE038C3F78BF402688366F +92ADDDD55F19349DAC523CFD7DBD4CDACD8E52AFE3CDAE38D07CC29CF6DF05E6 +3CA91A99D0A49FD8676CF7767315F1B315231BA851FECDCD0C0A4ABC2B46D019 +AE179E316C22CB30CF4FCDAB9568D28AF18CB636FFEE11D9FB220D6FF27AF9D5 +5A23559A57E9BC3E39112C3366F1A023D9A302B915FF910E63CD9EF6085A99C9 +D7CD8782E05C9EC0288EF48DE7E39BA940B07F9D5B204656BC172C25541107F9 +BE15F3263D2757CF5808E562AE237D04E629DD665E8DB14DAE5A39C14B11C295 +B0FA514300B8EA7D1536894DBD4663A1B50AB9C0FB3CE55AD1A8CCC3E6FB3DB2 +6C76DA3A623F60D70D0BB625E227C1394DAC31F739AAD64524308A83DB3E2C7F +AB24124A59E12F18EEC79A35C72A1C95BF082BD0954721494C407085E1D0EB52 +E57A53569CE8E37FB3DAE116CFBA0393321EC741425E063D5D3333E92AE5856D +B02D336DEFAF80280BE69864DDD8F313E448FB954363E91EDDDDD658AE358CEA +489977374C6F891DEA415DEED53F78B2C96E50DF4E50C83467B3ACB980EADE1E +D7641A5CFBC55DE441898A1FF2A46FCAEE3E46319FA22E72C0C52730A8BFC3CD +D927EF0DE76B31E059A7CA7B8FDD12E05379231BEACB696161BC77B245AC94E7 +C72D4E3355096B85EB2987B681097B77624C3941FEF32D760B94F04E7E98600B +39883A5C8BC421C93B70DAF8B686861E4561A057D452BDDB45FBF3990F78D693 +5706B6F40E423AE58475B7B83A70AA730E29EBCE084FEAC9C44F9ABC884EE745 +F76032B3DD7E1E345385838DD6C6F57D6D9CAAC29D32BADA33D5762A612CB8A6 +654F600384177D6AC008AD0256C66635B0554F26F62D4E912B80B497AD29762E +D3B68E1300629833F96DA4A210B9F1DAB53B3D24FCC49E480BD4A377910D0CB4 +0BBC38A2A33E8E4DE18CB57B816D4923B7921E10281F4D0A41D347A9A9E94359 +9AB6E7D87891D43882F1E6BDE85AD0EDA3C662DB95B03D4BFB080F96D362EE37 +2219E70F5A49FD44FF87F2389B9E35143EED4D9B6238C596181D514047E4BE25 +F323C2BFE6AE236DFE8F685E652A0518596249C5004013C1C4FB989BA4A7EC2F +20EAFB8A3EC255B1A3B63D2136661EF3CC66EC1EB8714D9A35763F965DDD347E +4A5AD0B2498D3F0A4D3871620A68AC317CC09B45B88C7AA8F0F18DA458C81515 +0659CDB421AE4D723FA5EBCBC8635EF65F73700A3262F94C34FBC8B052084E3F +ED683624FC17FEE33307AEC932F59D55E90C47AD5AF93DBBDC12F32BDBB44F3C +4C46E1C44A12AC14C9270FAA819DC341467C251FAFD0E455FB0E33C554BC3EB6 +9533374188F2E15C3F2940FEDEB21EDF5CFADB42D371CBD1211C195AE2A2C1DB +FEAC0256D2EDE6E14BEDB87C87E7677F0F09834F266D75297A5EA9E7664FE0C4 +5ACE4C06C4901851656B6CB6FDFF86A455712337397279F2A45CC5C37E3119B8 +301A63610A91FAACDE090CE8CD317805BF616A66AFD71DBD125526927DA8D3E5 +3FDF89C76833DEC9F84A7A0263D3265A7F01F2EE19E84AD94379D3ECCE690334 +8CF7A4D21DD718CB10253F3AEA499502E5FD0A803F755911A900FED35B6100FA +86E8A76DC062DAA42385E23E7BFB8DADB2ADE8FAB01E5DC7FA016CF35B353A16 +BFF6312093F1B6BAAD298CB839DFA7ACEBF9ECC3C3F4245A7F1062066CF520A1 +EA42110DF28ECED7E231BE9D5202D6A34B82FE309050DD97A3EDACB53C18F522 +8D9C350F56F4579FD3051FC3D211B2A16ADF483A79F5AD662FA1EDAC95994C16 +27D63C59F47F0A2A0818E65867B7161F83E14DFB03A64A85D62374278287AAAD +C2E4C11086C1F8EA9341C57558D1780E9629943100DC958C443BC43A2D385191 +8A0CC23A8013455DD6BCBCC78BD24BD0BA72F182910F9A54F39C3B3428C7344F +8F7C114743B853D7F77E37356AEF3A87A3AF643D025F05D1F96035671D1143B1 +0B4F2D2B2D68BDEA255789EEA9C7FA30B012030508228BBDECA4F73DB091E29F +973DA79B49BBDFD3366CBFCD58173FF078BB583C58A99395F56B969C8038FAA5 +BF1A184D08BA19717B6F2F761AE6941490D7A3D8A5413350D7F80E18DF0980B9 +4E6A76363ADB4A40DE137306109DA8B55B5820326F8753B6B05165C6BE3F8948 +E5A8CCEACFD49EF48ECDAEF8BD4D458D882F528A980B646847DBC2683798CB6F +A5EF4ED2D269A13BC8F6DEBC7B77A0BBCD01C3AEEB1487C07FC9540F4E6150D6 +2B8F1FD538A20BA1375E4E2D1A6B9A3063F127E4F23DBFEB60029DA19D2BE3EA +475F8365D2D6786863BAD98F52363C7D94FBA64A560A0EE40869A1D98B65DD28 +2E5E4E83E17B88AB50F1B6716D73D50077C1B18171DBE993CD1AA09238F08ED3 +2879F02F28E97C76A0C811390F9294FAD538373A242FB78ACB51BCEFC9021D2B +2299E1863D0F96396824DE103926BD4D8763F5ACF719E5F6F67F39C312730300 +2CF61000D206CFB809F4ED2686995EDCA2CD087E0D879E9D279B62A7D82A16D2 +AB62148D2A6EB3670C83FD026A2574748D297E014A42A55432D5EAA6104B726C +D2B9B1844E0458A81D478BF53F44409CFD7519C05FD392D7B05CFCBDE18F40C3 +F25AAAB3B0B47746FE43E19436021ADD192EFAA0B14F8C3365B83DA2B08A45C6 +EA594D46E0483414B9C232E07BE7DCEFBEA147451DACFEE99AFB8A47E53438E5 +BCB621172D6A36BECCF3785BB9A0216DCC76AAECD6E8B378BA7BAAA5F583DCEC +D8BEC310BD56FAB3C659E171B0BB525342F8FAB0D292F871F304B4DFCBAA0651 +C7A072E1BE2DB874998CBEA5DA5691672DB6F5382A471E5194C4E07EE9BFE298 +1B0CA5D6F239AA5DF6AE37E4830BDFE930E9E2A7743A49497AFDF2D8116FCC75 +A63F16F5B035511344BCF63E09DAACD30A86AA97C22C1A689BEF2A7BA65FA843 +6EDE35AD60150B758449C0D93B0DC0CD43322399787701A01986C83EA5FF16F6 +DB42EAF18494A4CDBE2917793A90FDF9C6E47200F0601ACA6FF6CE313CC90392 +EA44550A03D98CFC064B616C166234DAB848CCDCBD76D78C10C2B8696E5308B0 +B80C7190D1FAD81AA210A4E9E2CB5661475E1A02CD82D93D9AFE101F28C26AB3 +840A241FE593B475FCC1191961D0CBF0CE90AE74784F52CAEB87491AFC8668D4 +2113D07432DABD196340D32CF19140FF95FB63AA3986D0FE5DCBA28CD7E94391 +E5E9E8FECCFA6183E7A9A4340D67B1EE8BC15BDD8E82810A67B279EBF42D1767 +C2A7776CBFB97B90B5677553F37C495B95A559A31C24EE5D80ECFC1D340A12D5 +09E1A6257086DF3D8AC3B654C9B7522CCA662CFC62C1693E1E872F8367873609 +A7312EE7E49C963ECD9CCFEF19337B39725C13676E0978694ACAEA999DEA79E9 +4EAB8587031174CA5483548BB5D156DDA82B1A9CCC6587F9A25214DEF1E3DF49 +2E31AA77AD96270F0C267D6E166B55809E4CAAAD00969C92D66E125F9E5DDDE6 +8AE101F5BDA1A741023CFBE9F67C85E0CE7774D57D3B8930D7C3D779D8BECD88 +6D57BBC9598552B299BD66CEDB67D27677753704E4C38F455C59552906D8A1D1 +24F085347992F0A90BD6E7E017A42A6BCFFF5C07D6DF8B7B3732D86FD0CA9AB0 +011869B3670C83FD026A2574748D297E014B7B10CCDB7AEECE8DC7771718DBB0 +1E4B3E6CCCB6B1A41E8730B874BF14E532D888A1FDF43C439BEA165478DF6EA3 +5ABF5AC19769600F7B8C941284296E67936A72132D1CA61DA6B51C2B0A93CD1A +148B9E6F4CE18673A6B808DAAAC242D262024BD62DB3B00F44ADCB96480DE056 +D81DFBE22BFEBB308580E7F7E902C2C6A18FB7C0BE10B406C01A432DDE0CBF1A +C54019AD3E8183EF460A18EAF0655635E1B5711C32E17928D1B6DF670054CC04 +3964D00CEE7E0EBF297406D598C01DB574903BAA23F18EEAC5CB36F41E6DD1B7 +E12C321884C5D9C35184B130B2B81B4396442A7ECFC14B5F3F44C0A04F909D82 +D59CAD0D6F69314B2C1BE29ED3E6F129785A8F19C81EF24FFE681D2B4CC3FF07 +2F5A915AB8B0CA2414C2B1A4C8DF83ECF617AF17E598DCA2BB9F3FD72133E2C2 +14CE0D596D39460AD4D257DCDEA1A6706E851DF1C389B1675ED8953E25AD52C8 +EEEB464040B2C785D4A2BD238254DBF49A7B5D41AC27C13150D4ED8DD3F3E9F9 +6D496A48C71E27774623BCBFFF856FCECFD4BB43CA0CCB89524A7E1482AFE68A +C59109ED6A12325961ED29667AAB1980EB2CA0828D717D15A4514C96122B5317 +C1AC61864D22368C48000AE99A2BDACAE3C922AA636F38AAB3EE61D681403B3C +FE5AF7F85118BCA69CCE0FEA03DD5DD3F1A177F0D86E0DC7B0D373B6D8FE2218 +E26EBEB6A6D4E7C9DDEFD33B72309C45696670166CD8F39F442BDF5163D9CCAF +5E69D2389F643CF6D2EC9382C441D10989CBFB8ED964F7110A7AFEC7A30B04A7 +5885A54B561FD72427DBBE528FF8381B327BCEAB4376746DDA53FD1F267F5E2E +D65FEE8633BB86C3CDEEC6ABDAF38CA975030FAA951762C0B127C8D1B49232D8 +B077EDF0C89D0EB6A21EF3DB40EFD19B8557BC75D148B686A87D07B17B077EAA +C299C8E78F6025E035338A53DCE6B389149BA889B3620DFBF2089A0E6C4A8F35 +E8D451109E119AE3AB48507AB8BFEC54BEE42E887A285A61065A282A4AA2E870 +658CC6B6D44365CA23036C8A9C60E545B0D9222D8185DE4BBD34935C33D2AB8C +70640A3B07EF857768FA8460E895C7935B3927327D503B6481CF7F0F7B0B8158 +0F7A84034ED80CED0DF4AF79983D51707C258188D0A4B2BC685A4D900B71104E +372DD006C09D5BD8A615C1AAA83E8FEA614E03116AA3E53AC69535F016DE1959 +0722452B9E96CF0A9E18BC9FCC1BF0180333B6DC8505120B7C287D34A13C209F +57B300578FB2D6FA2C7672E337A837C07F22EE69CD649916C35773D079D26FFA +9827200E224E0FB6DC681B7A4DA6F3AB42129ADFE6CAFBB65DD5BEB334D5E337 +DB4644474B7F22C02B5527421785CC508450D6039B7EB158A5EF039C8EC45DC9 +9D12241F2AFA2AE929E7696D31CD8A1ED77D571FB57B9BF0AE25212A52D33A0D +D829600699FBF3B6096D0141213E6B67A4DA27CB17746D0DE7EC085A1D1ECD91 +6FC88CF8A8369C49B092A0A4E923DBB843CAF6F899F53C3380BC1F07AC4C818E +A103F170565DAD8DF42D54E4D439F1C0056BA48005B43F6940B4EAC49650049A +25249432DC74B09FF1640E1E4BDF8F4B6F8A5E3A74345E38D29FCC3E44C93804 +D115640EF9C73792C9E9DF233C10030731B2FE8FF49E753057359646924CCBB0 +AA354F1ABD3099FE129A576BC7E2B1650C7A47226C1B0D8ACDA775B785638667 +081E297D5436660D5056FFD0D3DEE7207889B1A7E131BD76E748078A8B045728 +6AC280D35634C288550DB20C261C0BD15FA3B7E7DDD25741803DB72B962DC65D +F1269FB36CEF3DEBF2AA4D0051D39A57B6212893BE7CEA7E4AC7694B7CFCEEC0 +74FE8447CB362A9A9513DCAB9DCE465C13768AE95D4CD1FD5D7177762C5D47A2 +26D0E16201E484DC939CE41D4A4AB1691081BC0D48CE7D358510F14A207D5A31 +B6271A50010E1AA336BD73133F6006D5667320A8F4E8B29E5130373D8517C72F +B2161C0D0C4459ABD8BD65029A9698D078C5052A1A75C736A723DFE0543AE32F +AC28AB8D540CF4BBAED697FEE5A08CF07ECD1927BD85A776D20558A8A1E0DDCF +FC57A6D8473B2957BEFF319D32180098AC3C1BAD394692FF9CDC1E32DD3A7B5D +320295697422AECD4652A881D50C9DF5BD1E25370499AAD99B2BF5FD6C097D90 +3E87B291F94D0DF9D4DFBAD4F365A705238728DAD394CB6AFA870A1B4B48EAD9 +4822B08D66902C80C45B2949B8D1B947EB79E90166D70429F89E4CC19AE91F43 +081B993FD24B99CD5B7F09CB0424C5EEE503AE51162A0A611190E892D1C3377A +4D9AC90E5053C20AE8C8D5AE084F120F523EAD11E87D3BF96987EC8E3DD4CCFB +50DBF6A58583363104120084A5B4DF5BED6475F467ECD47FC82672F4DF953813 +D97A5A57A70667A9DEA17233E545F186E375B2E7C66E8DEE2FD6CF5808C50411 +E3E995021BFF530EDF03F0F37DD81F84508FAC8B0C39574526207A9A15ADF33E +9562D6853E4634BCF507E7AD0376C57438BCEC02B710F47A1C83530D8209DC87 +A889789783D7BAF435D9D4424DEA71B30DEA52C8BE16216CB98B5BC6C000D783 +A35DA4ABB72A8A0CB3A0EF60A20EB9C3A14046A033A9127228D38514EA1ACE4E +1CABB39D662DF9AC5871E81DCDF0EB03E3E5D5C45087084FF5BCF2AD8DB66001 +90E9D17A10723D5092244E59DA1A31FDC7D428FDDEC90C0BBDB7D33C17E67AF5 +87343AB6A2F77A9B5610E99EE28760C893004F0FF6F1824C362DE0BD574ADFD0 +9199AB33E984B1932C2F37D72CE8E289BCE928D33FFE478A3D0579EF48C1B6B7 +D9D2C0CDD61043B7396BE6E1B31863BEB7A09843844F99739B2B395C1E1FCB5A +50C614A3CF4D2F074926073116CC0E21A6AB4CAA2CEDBA125816385BA6A4CF2F +31031957018202E7A279FA2684744B44E53995A57FFD2AF2902DC0E2D8D23222 +3135D6DC1CED640204057D5EFA1B959041FEDE65D99A38C4418DCC15832736C4 +41BCF3EA39F06B94C76B4627C85DD8D9A19C29C595C180FB895544396AD83BCA +3C3EE87B3B7DA0659DC9016C341D7281784F095CC3FB07990FCEE3EA3747D114 +B2291AB473A00400C0D2161C45AB7666C0543D1151199B867435D34DE4FB36D1 +11529F4CD2A906E6EB0E6B8BDA20700DB08EB09832F5AB8111BA022F3DE7D033 +481A58BEEDC9D18E6A4C4F010DCE7727E2C39A22DD8C32F8320AA4EF2448D307 +C029D465ACC69F29EA9E146E743FF23E464EEA52BAC94E8987B671EFFBDA7FED +F68C44148B894F0D317234E5B93A07705F6D5E131582375A39192FC7079E1AF3 +6527967B6029658F4A25AA6A3A2A31184D9E799F1A89AD23AC72100FAF00BC44 +4976F95E0D29F58A1F30CEA9589841761C3C4AEB59EC5B7CE530B7D9209A054F +AEC5DB7FD50BA11C7C8E75F60B96B3F32224BCD621FE8B60436A92E7810F4EF1 +A383EB5CC7C9D905FF68679CD1419595FD349D0426A06D8399D29D37034D5E32 +AD8B11FBD160CC6F35687A7C9329C32B26C0670E76028B6A0ED2EE5FCA0E5E5D +5495FED4BB91E5EF23184556FDD8D91AB1786629028DCA382465BB2E8E2F86C3 +AD61AB24AC4352EBB4032EF81E1E424444AB41624E57F1F0D632B10222361470 +C87235908D29FB5C111C70E20DD363C0E4E80AEFED2994F529E8FF5CB04C5F53 +BFFBB695A74B0CE299A184E5B456C0325CDE88001328D680E755908E37FAFE91 +72F99F316BD4E977C5AECE0148D5C1569CB76470E812371F2C85AFC224047588 +61A20861FE013FD244059FDF56DE90F179491EF5DC2BDC2E562B5D110F55204F +B97C7DE262534D9D78FC171C4E45C410CFCEE4D0F24DE9BD790EDFCCEEF428FA +C68C969A795F827F3CD34AF57DB2C2EE097802C73848ABB8A2DE9D61A86898BC +30968AB0F3815C1EFD9A5D5A5EAA5E69FC9990605BE8B25A0783950018B1D1BC +2B470727B8E5735180291E72CE3F05A96019464892E2148B22F73ABB8ADAE775 +D48C160373031EC17934534919D0CF112E98F0AB2D1660CA2E5FC05F132544A8 +0A3C8121C2D778EC5AB7389B6D2AE3E93BB2AAD079DB6B489C4D126C29073659 +71AB75F9FC3A7279A43F791661CCCE9F84CE854986B22A73DE85208B7E1CCF8D +430A55097F0247441D29E0473BBA287F9DCDA628378F55BEB25295679DE33656 +DE4A57B781D221C2E0C92CFF820CB5F52D08070481ED64C864407BB4F8412C99 +53514689FFAFEEB7EB9DB0B0B6AE73C7FDEACDC880CFEE01D42113A5362855E7 +6633C0371716F1C2E561BF468F25A14171E98AEE8C4EA2787A64FE298E93FF9F +EE194145CF213A79D737177B7CF395C28634677237C694DE103FD0538805984D +6AAE5FFBB8DB67B63131F6FA30DFE295B57F8F1835D1265B5A7E052A766636F5 +42479784B0449805D5F3D31C084ECEF4405FC13C1840B84D6AB848266C0BF823 +79048B1FCD8822EC75011790B2F773E4767C85BDA76030EDA4D7FD489E95ED6D +4B8BDB902B1BEBB98B09D75EB3C549DF9F96E8E43DE333691B46FD11AA5A0323 +1016B6213E8612D2E9E418AE44415555C1BF26A96D24DC6363A3B14E0B3AB195 +EAB86047652767F4EE0B1D25341EB5DC714A0AEA5431FCF44889EE69F967F3ED +0BFA9623AB0236098AB59593042533CD81AAD8A9C471EC6F606499F6B3A7AFB1 +235297260AC4EFB99EE5B4C8D47D3A66093CEB824B80E7F0A9205E6E3272B595 +7E5BD6DCBEC86456F4E8E3F12F16E6A5393669400982F75538BA7D723DC31930 +2977F80396CAA5B9B2786EF4F0118B9BC1B4387634BD356B6212A9591C3B528D +02B24C4F66A8B42A6863873B8FC2C23A3C4CC050B71418C1621225A259AC38AE +AF34019F352C728C91F2FE8158445F14F544470EE28AFA3499B8A9F747224C9F +7FE712328C23570BD17A64553B08E8D176F9854A6CB34369AD260BAA8A23BF5D +CBB68BC527D556455F2EE04826E7AABC974969B84B8B5ED945005796D6E5CE30 +B9FC75CBBE150489AC693C7DF6E18940558F0B55872E2A8FEAEE6F3EFE676529 +45517604ACBE3FDB2D9AEB2B491FF8476CB513596CC4CE074A404A45DACBC206 +4B8E5B3A05B911B89D67DFC33C7A3AF53D83724AC09702571F5CD690DF2B3904 +A6D968DD313F8B6620A91E59C279D9963FC18B01491576807C53E6376B190465 +789380E191267592709AABDC0CC32A09318A9C95D8F77E844A2DEBCF0EA68497 +581770F83952F5020238599613FCC511AD78A8EF3243D6377346E3C13B4E11BB +7DA45B6B2EC3CD85FFEFA5B1A5AD10FFBC85F554AD7B9F50285ABFD57B6078B5 +53AD3DE612AD0CCF5AFC45F7BD1AF11FE4F13A61BF776933E36F8009058113D7 +83D4BA20262CC542547DFFAFA5F98F5D00E4B188CDC731482BCA919A3A1F896A +19A2DADD4D86FF1A0F9F7F3BD2784B527526F940386ACA2DABCEB8C62C49061B +62F2D50B706D71E95F697AE8307A03BBF73E9C20D6C810852B208B14FE526225 +F24695B3525CF75CC7661DA8BB4E577282DAF0CD7567DB7B0CEE6A589E968CB4 +39BE739482947F1C6D1EB30E7BE6BF792852370A1E8F480BD4A37773E7E94D1C +E78A704905CEBB6BB5F416EE4D1761CC6A69F94C15CBAF6993C7C1320D17015A +62221E2CBE5373AA639F3E79E65C233D1FCEBB85B138839C183D51C008EC7521 +23B8F51C5FC6AC81C0BC54649D642C43D19C7F2CFD2FF2ECF25F01E4B8AD5E6A +7BF8AE22D7AFB4A1FB5E6BBF5CFEF55888C05C911E862BC7FC1D418EA1E169E3 +F8FF9ECF4E5CB80644208DC1FA98C478F58DD1B4887D39F4E68DB6BD275E1FD1 +11304A34AABECF0CEF5235E1EAD65EFCAF25A910309DE273147EA8EC4184591B +C3FA3ACD7D3D2C88DEEC558274FC74A6ACA1EECAE6AEAF1C0EEBCE74333650B0 +0B0165AE4C8A9BE5593DC6B1B6794C65035B1158CB8AF6B4ECBE34ECC1C42036 +F8176820D3BA2C3629B20D494FCA27B6D4C07BFD3B385B425A562F78DE222F62 +5A1691CE8CE57ADE018FBAB4888095E72D3BDAFCED350C75731470AA64535A61 +B226BA5DFED762812F048EBEFCA6F34D79C33B5DE9FE84CF9087B563B38255AC +32B2D894EED8B618B3695A3D6FB37C7A96309E02D86BFE14AFDCB4C2422AC330 +19E9583A08776779F286B56A27E4435BD7ED0F7E76FA03BAC080CEB7AFC4D525 +AFF12EDC7599454C8ECCAE5CAB7D23983538F5B8BC0F4D0E4ECF9FFD37B6146F +783A463CB52C3F987588EF1671A0A771A5920B527A69199B7DDE664F040B07B3 +C752CAB169C4DB746D708D0ACC9590B7DCA104DD9EA1DFB6039D2C59FF69B34D +18E0EDD3F8117581D1D2699F0BB1E027C2A2353B63C7154C219881FD13E554E9 +06513EE93A265EE65DD2585CA59320010A1363F72E2FB94D7604F659C42F46B0 +BB09A3BF5B224E83C822654CF5BC4D062322F2334343EC50F3BBA86B055407C8 +6CDB7C52B728791E55F013B9AEBD4395C36978583836894DFC08A2A1DA2BADBA +7EC0BCCEF106ED93EFE20AEF2504E5881A5749981A897E7EBE0136DA2990EF19 +AEA0AA9213089D45A24617FB1BD1465059E7002AECB3A497E39819D7241F3CAC +1E067BB075EC8BDF94C35AFF9972B28E627BDFBD753ECC7B5664999F24219B77 +A4969716151F1B3741D6DEE0C27F05220142226D8CBF2D503C8F0D77EBBF9D30 +9286264EC426283B7585C1CD855ED1F18D7D9BC60F6CA00F108D6D2683633F04 +2E15ACDBA49399844FF84BF593920F876CAB1BB06220CDF7309480B2D66A534A +A4D10E4716AF17AB6D274EC67FA6ECA9EF8BDD18912FD7D3740C6D85C5725607 +FCE37C111AD8538E5C96B3C3483531E3DF93B21D30F2014E2613B1ED8F550E96 +59338D922D770274B0A5459322547F1F829DCF455715EC94547193B9CD9840CF +87F65670BD7CB5E2283FA61818360A5DB870C2E63B923D7FE705AA7185CEB4BE +424923A196FF423742A1050102B840BD2BBC6E36608A56610F67CA49491CC1CA +4DD07180A8849721EC7395A7B8F1B3C54F9B3DFDABD7F3AE4C9AB94DDB066FEE +28F66CD402FB770916FBA1F1F958E0AEDB13CA76A19E5289872538A6CCFAD70E +3673C8BED4931027AECEDCFF854CC3AC19482CA681418BB883B4550C5B6CE6B1 +F3176B8003D25BA625C6A749C366609D095954AD206420C18C7AFDC4CE39D27B +0B0ADF02B146CA121A70050A18073850174435FA6F9E72C238B7A48CACB4AC69 +B3D1D6E1D3D17A3B106E635904F196627E241F253DE8D54756898AEF86B18CEE +8238655681B001971F293CF8EB6A54859C49042A008423964CB56DA11B02BFBD +BB6B95C298DD4689290BC979F03FB1E2A7451675B8F0D622758768A74278259D +2732EDA8600201A4250517F399854B5ADBCAE31AB4DDF43923E2969A8F4CC0D8 +924C90E2E028F14B685D483A849D29F1CC10D6CA809478563AFE463015807B51 +6444DF3D790E32BA259FC90335C2A77E83D1A804550EEE8C7E7C399B8D09DEB6 +46BE09DAD67B3496168CA488A7C61A08C6659ADBAD689ED3094CC31833BCE783 +C9C376BE3EBC327007F6F08731634F35CF7103EBD648B95EBC2300146F9D80E0 +B685671E2881895138C2DF073F9D118179748A711143B125418C68866DC4DD53 +6A07F238E7B27ADA83DD1AC8F18610FCC7CDFDBFC2A74E488E4F7C82023F6B53 +E7702EDFB5C56D031B0BC96C5A6A9B7EE808EA3C36CCE4069B1FCA4C93737280 +CFF37D45E848DDD7FF85285CFE4B72F5011977C4F4FC48C919B6867B1C0322F3 +C8F60100F20FE3D7C3D6F202369C03C964E130A6A3B33F40E2462B9D23EEDD23 +7344E597FC54638A67156C453F496263FC5B5B8227429E50D1FA9675AC21373A +0843EF4143E5FABF69310BCF766906A395AFC353ACEED85F6557B423C06C89DA +157F70DBA8CB5ED2E852BC19201CF22E5C169EBE06307F1ECC4F900F7E81EB26 +96AFCE64C1080F0DCBB5532A4F584E700049B3CC8FE919D55E03AB6A69A4B916 +82DB727263624B35D22FCA7CCE9A67D4504FC1BAFA1652D965E6E8ED6DB964A9 +A2C4867AB5F552E54DE92D9DF52CB8C6EBBBD5813BB11DB6B147F75D950DCDED +7405C1B49B48B94474AD10F88DAF3697A076A9D67EA899B19687E506BECF1947 +D2ACE1E45048A8FD7AAF81C1D5837392B1EB9E514580E6097FD825B080ADF0CB +46435431DEDC5096CCD5DEDA9B4EC965F20FD452DAF79E3CE3E32A46986D1902 +9F54CA543AF69D52E5EF1CA0E3F2D03F15752D5A8AC3A9BDAA9FD62A998F77DB +A3A320DE1C232DE70425A046A4A1C69698A882DA14ACAED323DEAFE079D8E7FB +4E4218D2AED884DC7088B6E37BFE194D145345D1F6D09757F728E56482127BA6 +54667224C5C327BA7C4059535C34BA975A756A4775529B87C76AB5FB9081462E +3701D485345FA762B5C47718214ADE09FE538B23688F844B44253958A76A0582 +998EBABC0D7584F171D99039326CE8EB82690E7CD815EF823F57EA5E29CA97C0 +747BA67335F672BA95A862AEBD5E357AE63F9A97A2C92AAD8041372C63A3E020 +6C9841236404728304F8447E9EA64B143CF6AF5C08136AA11496D880A38BF73F +4D12FCACF35DD8739E42C58FBFBE458C94707C825C53B327D89EF39C556012EE +5E31D9C11A0A60AEFE0E7079E7C04CEB52B02DCA88DE1B6EB0C1C47C8B7DC5D2 +E8AE95B1FA4C2F60D1F8DD87A889789783D7BAF435D9D4424DE3AB25CAC39266 +D3E4A190F18BAFF8145444A4B33DAF9D83A46EF9BC4210C3652D589681C49267 +97C5878337B23DE5DE7D508B5D2E4B9FFF872FA2EE85982E48BA5ECA86A3BEBF +3DDC5FB1D62336C6DC98BA3D193ABE5CAF809C6AF9CF31345A8EE0B0EF884808 +520A08D611AB049D38D79C6EF9F538A5B366063CE605C921BE7EFDD5865D649F +955FF368F3E3153D1BB6B398ABE3BEA00CAB58234DA432D462D39FD27EFD08D9 +C5B958F98C9705C655CFD1D12CB2857F376D4CE59261BAFF1A8A50279607C8C5 +0EFED335B0FD0EB25D58F5309529F24EB9BFDCAAFC4A23CC6FAB0DE4F8B78FCE +9BF97A624E689F4E593E15CA50F009E610CBF667B8F013E5BD513714707D5E75 +122E9BD66526CBA0ABC48E8AE6B1688FF8C25C464C8DE841813C3438080D2057 +E7B69F4345188CDF8229A2A9475D08CCC2A3B9A71C78D97D57AD16CCAB7AD48B +74BCEAD013AA352ED6369B602A6820FB41BE653402C988B1197DA58CAF8A510C +59E13F2A893DA448E31527E6085EC42BA53B144B8A437A0874F11E6E78FB33DB +0F0235D303D5186D6770D7E095A90349D3CC302E4E863FE63C4EE141EDCCACF1 +BAB40513F7D25384B0D340430A5F9B3F92EDBE20BBC686A00D258068BC1A62F0 +4404166720C341B35EDB4586541593F8536E8D473A35FE8BDA05362C779ADB80 +09BEEDA495FB7E96A9D101C6688152F65850E258E9545B720871B869DE025AEE +9FFAE558501E9D8BD94A35F727AA9A71C33D368CE03E7045BF99AAA7F7BA00F3 +C55757BAC2F85E6355C0A2EB388B751A404EBE1D6E4A85FA54648D55A6CC58E5 +99F5423B549EA4606DE426020F95E07A58B2B9F86769175F99F90508F5CE503B +44C533D473316168274219A3D52FDFD91F501260D47FB341FA124B395111FF22 +86AB9F162B86EABC2008C55DC2822D61D9FD8AF7C15086E5FD1820DDA9CB849E +06FC42AD1B381A7FC8F2074DAF626748053A51101B499AC140EA0AFCAC525A24 +2798E9AF66587D0F331BF14A5FAD8D01980777AF9FE9ED826DADA4972390EE80 +1E5FD7734D167AFACB2415433D3E55B504919FCB2BCDDC054CC91C85B3597B7D +BCBBE833C0916F666504245ABAA2635F3632B4CAB549BBF294D1BDC3AD51A118 +DB4E6B848DEB130A56DCDB935ABD3260FDCEC2B6116127D4313DCEE81AD1E409 +405895F8C6A43E375E4AC001F20E9FEA7872B3775E1FE556DB100BB5E216B775 +53198A68F75051096681B771253439471A25D61F2E91A96E16FDDB337474D437 +81699AFDAB98393605EB377F7EBD25E7B62C2DA82CF09948A46297D3DF65E84A +150AF97D63621D7887E6D25DAC343737B9E9E6D048D7E2D64F2604418C884641 +113D7FCC36B76034F37A3CBC3367DAACE9A220DFF0F6C95BFDF4909D9FB5B381 +82110BAAB191FF5B0389A77DA7110EF40898D7F2206E9C8751A1DCF4CE35B2F2 +3DB6068ADEA4771A6B5A94E01D479AC152C7B16B0DE4C97C1C2E379B2BECB9CE +C1E9CBD2182564CBC6D032FD49D5AB137C172E040482181D88EE923137013492 +BE918865CEB7D7904FBE0D6CE8EB82690E7CD815EF823EA6C2877253324B87A4 +C12A18D08F7EDFE563197C89A0100AF38CF7F85524EB9327D1B29FBBB07B8D31 +4CBB30FA57688C97CD7C7C9EC37930E27512B968ACD62F9C5DE49C03FB720403 +11E96719D178A8CD7EB7504A31AF3D78D061307879F2608CC69105C029BA8D4A +7B964A305F8A2101572777E59B3CB401C9A2671A7E019746C28E8CBB5DAF0430 +BF2B6039464E356B50BD9E3128227794FDA75C0305C968BD907D9138544B713E +F29426A30BD387E54F1BD6BD48B2DD3EEF0434EE61ED7C48B0F9D65B1B0697BA +4437173CC6A46EAF491CE04DFA281908DE892FACA4D1ABA93042CAD9B3058B16 +57B2C480D92CC613AC5B947AAF21CBD08A2E3B1BF6B7EC58FADEB7214E434723 +BB02264F53B52A9221A13865E8864E6F75D40A38ED471D2B68BFB683965CE95D +09719C82246C7F9AD6801A25C85FC14D3716B645EE3FF46B759E75EB57C655FB +CBEBA20E12A6B89D792D69041F008F36B9F5777C45F61CA7707EDED071FB0976 +1997C01E99C910D18C1DCBE9942830173961D1EE5F1403E30D3B9265ADF81528 +18A2DBD40C1365F2863F24E3D0E77D9071466ADD35EA17B49FC53E54F0180C3F +20BED95BABFA45C59BB87134F56F6DDC7CDD5B3D625DFE4BC40DCE69F4361E52 +73DA715BE8EBBBFC6365EEA16AEC84B561C94007AFB3B9D2B58A91DEE9802B6C +2B7EBCD0F0E28CC1198A84ECECE33D7A162F781736FCA7D87E54E2B1DD43A458 +C557E303C569492C3DCC7C3A1162682A719FF916E6BF859686F6F08A3CC07CEA +9151BB3C676519D0968C7F70B0E01D9569049031B0CB8D9271589795CB99777F +D2D8A4F18A6EEFA9BF9407D73C5BA42F50D139A2F87C2614D3548980353A6C53 +F47F0BC75FA49BE3FA0347CF24E7C89BAF56C8C376AE1E9568204D34D67FC196 +A380248F5F7C4DCA4A1AB06A04B309EA45653D1CB7231B90B4FBEF4BD42CE514 +8E2E8B29F7189FE0D4BEAE918F3B43E35DFDF3E388792697DDF193801C220F92 +14878C181A430FF6E45BFA39AF25EEE7CAD916AF093B9CFFF3DDC21C184C9124 +50DCE380331BA4ABC51615EE5D8441A99DF86E7BF7F4F19B865E66B2436238C2 +05B14615B9FADD984F27AD672FAF0AD31F3CC7F2ABFA021B56CC1B2283621D7F +3D46A5B576F5C3504555BA1C468685029B26DC46EC8C2071B8EB9B760218116F +1200912C057A90E5402A179F2CE4038057A8E54B86751CBD2C6F8FCB4C69B81B +83F3DE4BFF9AA2FDB171BB810200EA42792B05EE8604E044677CCEECF15A358A +6D9B701DAF00476083D7E55E62BDF3F1387A5765C889845BA3E641BFCD71BA0E +FFC60665EA8C7D1911675EB2AAE536E5981CF029D6044761F6AC4248B4DD0A85 +01455C630EA8B2FEDDC4ECD2E027CAA7E47CD79BA6590ABFE3D82563182ACE5F +26F28357151F0312297D4488AB58231EDAD7FD489E95ED6400E6C9E03ED38DCE +D8595FD2F0F24767A37905556DF8D9EA9F089E6255751DA6992A60954063C678 +0A5D0DD42AF1F80B7C41C28075ABD939AB3A0F6DC112020338A99EB84A014856 +86CC04EF6188FEC4340FC7724F9739E9BF73C80C90A98A4BFE80B440ED5BB438 +642E42FF7E89F7B7EC58FADEB7214E434723BB02264F53B0214DFE59BBC83093 +AA0097057E98511746178E03DD8016396A43CA64927852E3D9861C668F21F154 +4E638C756553C296724A240A89A859DE1890CB49909A2811CA7986436F225200 +A24D95F2ED54290D18669353307B572DC6669803A1FC4949AC98BF3A8F45BFB5 +024F2D915BDDF06338224565A9CD8CB62CF82CF9A610BC392B6F93AB77C10207 +D2C8B19311384F24598722F9B696D09272F8D6706CCC05401F995AB75AA569B6 +CAFAE547713D0F7BA5103FAFB49EF22CA8F00F055CD83E7D52E442EA02E581CA +D63F033B04D0A17BB868F8B54699D1CCB02E6143A0EFE51D2ABB47787AB8FF47 +08C6F40E3075D884212459C6D27DC1FFFC271547C1152EAF04B84479FE9FEF9B +EE08C93E676D71335A8E3751C29155B007398319845C28648410EDFB3F813E16 +648DA877C1E3EADC98DD86AC283210AFC93EA37CC2F783594DE6123338345A8E +E0B0EF884808520A08D611AB054EC0179769635EA058F2856281564D7EC944B1 +E2009223C277E6A0FC6158005511B081AF211EE4ECAB2CF1E1A7F12E6405D970 +EBE676CA582D1D69099DEA0FED70B3DC135B4F6BB07F45CBA6FBDB4418225E53 +8C9D8D83343E89075F5EAAEAB6F3F9CF07DFCD9B962A65F8E5AB88436BF64E3D +45BD2863327CCEB361EC854814F692C90E50531DD64039C230A6A9FE0071C240 +477F32573BD733E0DEE8A4F5B8BF91F528E8A014CFB8690DD38F18F77A31D381 +3FFB58E225C51FE22F794782F47EF717845F2D4F899C7F1323D614E16C7733BF +56AE6BA3F64F76691CA5A4833BC348A1E61CA45D557DA14428D1221FA8330AC2 +63BFC99EF7C10ADBFBFC2E8211676F375782CBDCB2E42C04E3ED3F1DA3AF6456 +E1F3CA3831A76F106E667F9E91865F8975FD450125C9EB1502D64929BFB8E89D +5313570AFC25B6FE29D40BCE62841432BB56EB8DFEC5E56EA980AF8A14F46FED +6BE897BAF99BD16EC9F360B9B976ED055189493B71486D921DF62EA1EC80DA59 +9184F48143580DF45B39230434930F24F928EAC244CAD6F9BF5528DCEEEFF00D +865999A09D5AD428839828542FA8FE12343741AD49384B9C069FBDB0831C6116 +9B250F1A80B8A883C5D2B3B78959EE59DE1CFFBC4EFFAFF00D29054A5911CEBE +02EC916BB486871FDACACD9F4BB11F629865683E164AE60471A6340C4308A3FE +3B2B5EC30A47C3FCD41E7BA921C341FE2DB804C2195EFD9817CD55AA40B796BF +F1833FCC9BA70E3A369E78E8AF00B974938842FD01B7ECAFC159A997FE183D49 +4EBD62F23805FED20C07398C16EAA2B2C822BA7A8048BADB860F1538363AC9D6 +7696EE9341D32AA35D91124EE5DCEAC78C8F28787EB15CF3E4F68CB4DB29E22F +72F6C86F41D02E5346CDEF765B7B097C8EDD95A5F9611B35D898DCF84D403B9C +082FEDFD718FAE8C7E66BB3E8D6817070CE96D322EE6880AA0CC336D1B5FD0E3 +3CCA75F5FB1507ECD236EB945506F442C105B236BD37E1C7C43CB9DA26F9D0FB +21C434FE2DE3BDFA26D24C4FCC92C1A8998026BDB99E910E615A5189A41081DE +B45DD711488E406853A5A013581A46DF8B9288C97C1AE272FE83AB5351D5C38F +ED668260EA8879EF78B4C92970F5F516904AC4A1A00EAF33C65CA58BA761AC62 +2EA8AA58FE0B5DEC627172D10DD0A55213B5F2404925368DCD3A257C29E84AD1 +386C6B61A5E15EF994AEAF8BF6853531B9436E94DDADAC273939DD770974B196 +CF4680521C166453070EFA5A968937157CAD1E44C4FC5F060A58A4B289F71E0A +7B6C57A9DE0839022947957AA9A1C98A74287704A56D2134BFCE5702C75743A1 +9EB312118BFF5A24E4FF1888ECEE4BECC76AE143C0B8F46598B144BC6FC56F4C +60915F5886B34D8B0E8770F45F08A49A1B5F33685187943C7B3EAE5F31C66313 +15532CC81E6B68697A78C0EA28694A184C9FC05A5C20CC812CACF7FF11B4B138 +F5B71737DEB70C29FAAE5CA8513697176088F976548B25494413A8E9A76EB90F +760875A07674C9E9886B199B3099B051B7D6BAF653662EFE131B5FAD9FFDCB5C +D1FBB4CDEB5D7E8002400221C12A9D9E4EBDAB441DD7633F7E773036AFC95EF5 +D66120A2E0DD954ABFE0C0A68306BF04D894FF7239C0727D31A47273D009FE3B +5BB0705A054BD4656A6FA42F3010A127B90553E52B30909144726492A9381FA2 +D444C8BA71E64046CA64B07041A32A2CD4E2DC961805C11F33D554529BBED98E +9B33E1A28F8FDC11342F692C47424F6E1F4059C474F38CCEE148B9BB0197602E +779D8721C358C413D885ACFDEFB9466A40768F3FBEE331237AA5651C685C892B +5CC6570CA4757961B6636831ECA0F8B87BE3549FE64C282F92BD7ADA0071AEA3 +37BE6580744556CEF3EDA3FBC4EB639ED805C1160DEE19259864EDA6D5958092 +060E1BBE06F336F9B31BC43A659B9224A277E39DAE4B1F4329D0578D921F431E +52D386C5C3C820C77B0614508AEC91C5BF1D9BC4BC86A0447DF2D2F8AED9616D +307713089224F1B957C12FC00B99594E3B7055A2E28E9E929720A9A8E40BC0AC +69332572834FC089732AB9257978765B08FD1933564A845F18148B481E89B057 +408A7366EEE0638C1B2A9C39C6C54F8DDB7817CE07AEC10D671EB0E1214231AA +D4743B196C108C4C08A13AB566167064AB08542DB96F22756F879171F49500C2 +CC2F349E947589A7119237DEFA4CB7D83522B1B066597E4C9CF54DE449335FEF +F104BA204536CA3D1F9C73EA6B21DE24A4633E8C4FD5A5026FB1A7687E22E6C1 +D5D4AF8B97E1BDA1B94A5B9CBCAF2550A9A909E205BEAB20B9C50F06EB219E9F +34BAD5A87B9D289C5F0228E28996554F6DBC2AB4E2B6673C79F5569843D01C9E +ECF3F8709EFC582D4B381136CF3EFF857D7E72529BF5E2B164936143663A1B48 +946531719C594B300DA573A543FA3813C8C501A9D40DE20885985399BC432FF8 +FDDA9AAF6701121CC345DA2CBC59C08B8DBC55042C8D7BD026B159A61E712E1C +BBA825B8DA3C2B95B40BA3B134DF7B43AE695E86255FA5EB839E2D73F12DCBEC +A349561889268551933B05EBEDA717EAE6F06D02F4B36052A66FC4ABAADEC307 +FF1D04E857F077C359419B32B4AD76E8E15929C11019F60055CAA3336A72D2E5 +046169FADF335767CC27E611C815D6B6DF63FE65E92A428C4351AFC8A18ACEE6 +9A16021B0A6188A69E24579291B94B09493CA7656DA2CD7661D66AEE53CB1F39 +B56EFDDF93A1E45B47724E41DB4205D1200CFCD7F510798D2EA69D685F8592F5 +59CBE379E1CBCDDEDA1B69FBBAFE27CEB5E868B2CE2113416A56856B2EC2B06C +5698FE079E7A564EEFD0487561C9049EF7D5DE455D3E2445D997DF463AEC9962 +91983B29F0773CA253CB694395FE40C7A582F443817A2DBA36F655B7864D8BE4 +02E67959A853734C237CC5C2AAEB4A8E0028DC3CC80D3BF33EA8DDAEB7ED807B +849BF7008A9B513D1958946B3105AF4F88FEE69EC2D3FF638042BC75D0876359 +AA48A4627A7B49F80E4E727703DEB6BAA91BDA86AE5CC081E2657740EF74D19A +425917974EF7A02C99A3FFF334625A47FC66EE11954463D6600A17ED4C028542 +25B42ADB4ACF269D70EBCCA996BD48AF33D63080218EF947F06F8CC552C9A6BD +C6F04A612DE0A010C16E27EDA16EAA18A7760E11E9873BB0EF9262F18A75D9EA +C932ED1B2FC469A51FDCB3692D818549BAA79C71FC44B61BCE2A53D14C9CD1B3 +69AA1D89B9BEFFB4D8C8D4CC21955C0BC8534A8D042A2892904AA055F13EFD67 +5747E1403BC46BF01EA715E0BE3C0B37FC5F13D9598FFEE4714DC6A4E85650AF +2902D1D4E796D3F9592975D46A86D4ACE66BD5B1E4895B24E34B9E7D5C4D3300 +6F55CEEF9DD439477DBE791957058A1BFF3D38510A8B1E8D692F82221C0D0228 +4F4E1A03F2CBE758744C4DC36BC0B3C1533E1AB95D2D5BAFA00555363CE9A004 +63422485CDB2BEB86B7BAA4DB298E92EDBA3B4CBE5DBCB63063E9CEF4190C3D6 +0DB8F69EC10ECF8C4350D1B42C3F463C91787BDB31D261AA410CA1F6033533B2 +7A95E93DACC191CDCA7B1B7E1BD2E7B169804610DDF6CBE34DC4B3669F9D55B8 +214ED5DE41244A94AEDF8B39312798C5CC828F8DA0799EF23F0E13B5C402119D +EC0E921DE7E75BFD5014A39D2820506253A21FC3F3DC447CE0ADFAF8AB10FED3 +202C5D70278D34189977217FEAE275E008BE2A9E46CD4E13586642088F523124 +089540F8F01858D08C9A11FD8478484519A21EEA38ECAACC578E6AFF2A78F0F2 +655E0D319A46AAA1AA99E374E08414CFBC44D28486B6BD2C8806D062834B5DD1 +7EF5AC689609C39ECD8878AC5033ED10E0124AA411C1D25C37E7DE50B54ACF35 +735C298A3C0B345FA3AB6C46E841B009890EB081211B28BD1BBA03E9F31528CC +992709DA92489200C8665A75BC8E80AD171B40042CCCA9C93A5C1D1196B2B5D5 +8422043C9E6FA5E03CBC0644D19F5DAA9DAE04D05B31B5252F16C538C76DA224 +B72B3FD6D176F819E31E7D3DF647E2D4999FE6A0DE6DF6DC47D17EC51B652DD5 +16B02507AE571FF88E0ED3D63F36691F13AC80D0F63AC8F58F8A66F6DB1D353D +F72592DD06C9E3B6642B88E3B9453AD8432E02EF88C5BFA8EBD9980E0D46B855 +BC68799E247A08C67F0553E9188FCEAE7175F58C41EAD02F1E04DBB79D433DC7 +C6EDEB9DAAD6B4B9EB4F58721FBA5678E67D28758503B8AF2F7D473969ACA8B3 +6D260178BBFB4E9085C76827CE47DB355BEA13D2F2EFE1FA920B455CBF179FFC +6332060F58DE7C7D9FCA742EB0F64D0BC20FF0C7A765ECA7433820D0AA0C416D +CE23B325E84440EE2576F50A9965537A2D8378AF8DA2DB25326B93F68807D6FE +251A45DBED45FE728E41AC313E09B1E98DDDE4534127DECDA30528589B23CABE +4D575F34346D0142B84AD90EE9C0C952BF67D04D706334D3BEE929AFE318F4E9 +42B5B7B9F5783ED140DD88C3CBA66FB93D605A16D0252822F78FCB375FE11CCB +A0BE6657101D19D38370AE8EE4C6CB3794B363E47536FFCBD994CECBC290E973 +1790E0C229E76B96F368D072A5411DBC3229305342B3654D962C496008320B46 +22FD094D0990BAF08FF7B8CD3B214C27E246BE731809425575B7B78FC6905EF7 +7F476C56DC2D466B3E37A8964E85F3E332599A6862C056CD8D6A6E5BE4A68D2F +BE01781FCB57630DA28784DD2C1ECA1B0F29D33EA21E1EC7D98753CC0B0DE8CE +2EBC01607F748CBF09BE6B304B6A7C8B20A4CCE1F21B70E9A72196619B2885F5 +3B5613FBB6AA7828EE0DE066DAA0F7B37584E69D3846E4CAB40F4C3363E7CC30 +F5C8497AF7F3CC55FF1E5E038185C219143116B1216E617CA3B4B2CD42E74283 +B405EC73C48682A684ED9C4C3C88D6C66595F801C53733B844B1FF523FEAE6DD +EFF36D20E721C0E2990EDB17BC7E7E6B47B44B6CFBAE1FC1EC2E37AF4EA714DF +2EE9258DB011C37A10167D70AE8E74941ED68BD2DC37A3A0CFE28993C9DB0149 +8C28EA049592F7FEF72BF3252CCCB4FE5D9E0395CC4A27E0AF50087CAE709C80 +E16198740B6C64682D60644CF6982E936026833D02357AFAF505BBB4399AF5B3 +9B571C9CBAB1CB76146F11DB9C67E171D02695507FB58C02AF64A3F9A3E44046 +215E511A29D9ED23A8DCE42E09F8AEC681D2BE52F45D126B05BF0774D61F8AAE +4F41599D4EA851F298FBBAF954DD2452740CE664E3AB4F0A3A1D23E3D7A1FF95 +A19E9F7C25618DF3FF44EA5130DD54CAD6771F05B8D8930F24CB7D51EC0FEA67 +A6F22E6C0ADC4A53ED2E67BEF5621FF6EC41A11BCFEDE3DFF1E55520432F60CB +F8DD4952BBB002F5BBE7B326CFFF9DC25A9FDBFF6DD130E12D453750B02CFB9D +A8F7DF6AC43C7BCFB5CBE8BEE5F43AFCBFE1DCFC843BEF122EC34136FF9604A2 +B187C515FE807F7501C0F79DD13A91E165B94E21F21F3EC5025979795A28D8EE +E8CF1F375E4072DB154BDF85D4A4DB6558C02F080607C5833A1234E63221E5EC +5198D3AA4E28734996C848D09B52B70D7014877C4B912431BCD6F322E71DBF12 +7ADCD2145D1E57AB7485F8424431724E17611AA60DBC04464FF1C1F0DF8A1798 +DBA973568222F20C665B28C93548C53FC4A80FA632845A15AB5EDDD225374A5E +E30CA81873184F97C0F359FB1633D9478DD42337023E6C31D3CF0BC861D5120D +ECA23E694C8920F87882A33EC2C796A816C32C8129151AE11F492142246E7760 +713FCE2AB36097A94D72BBEFC2437377995B71D79AF8ABA3C7DE20C23F80A9E7 +B596E2E89B18FFEF3E37771839E50C253D90E3AEF7BB4ABED3E92680242F1E85 +DBFFC65A6651FE8AF5306DB5BE81CE0678EC10D256B22869F66CE2AB8C64A7BA +D995D50787848CA545832F287EF1E894A6357A35CA5DF2E6CD14AD95400FE6E7 +CE4779C51FED4DB577E1133E2ACD0DE778F9F450777832650C685334E19449E8 +3388A7EDC1A2E8C45F11C10DF016A08A86EFD0417C0C368313C13C7CB6D860AC +6E3C4D2909609692CDC68CC32CD8F13DD25BF2E9FFF3798F8626849A475A4F8E +7D640B9AE1348ECE5AFA0CD99BA67E24211B729BE417329B705E0AD40D58A1B3 +60CA6264BE9A6BC3161A16DBC05025BE2365DADBE6C25A22E9503771B4E01844 +1737B8DB12AB27E665D176B23321BE58F4F60344746A140943A21BB8375FAD62 +D4880707D784D8B988AF4ADD547B5EA2130DAB02853A77B923BCCB1F2AF7F3E8 +CE9ED8CA8EE0764B91FE8E5EB90B0C17B107AF6A64FC51737FAC17A32FD0B699 +2AD0E4E5B9DD6F801ADBC455288F30774EA0F02618741F944B7E91828123EADD +4AC58810C5CB85EA6C4C52D2D613CD1E3138F8BDB1AF4950CE4F5336F7AD8703 +C0178F058CE9D7D762C3266F419E61B87FF82CD98E00D7650101A99921ADB106 +80BB85CBDE4E8BF9207852CCBE3E415E591B9AA7F51C630A6E818EFA57DF1EF3 +CC6133EE41523FEDB4761D52B2C2366C2188DCFDD17610FE2ECEB2BCE883590E +1DFBCA43E5C88EFB24788F19B1C893F3343331B8A03AB1076BC7C96F1DAFA16D +E4E2C5B0E12DB3115AD17D43453312DC576AF60E797F13DA12AB2BDDBF839F82 +FB4F4CCCEA3ED3A3C4C4CA336644E9CC92BD9173A222FE465954469BB637146C +6B98D3FB9952053804387743D390B807C5C16D6B26DEC3AA76EB39F6F520E0D8 +4D3CC188A9551F14B8C668988CC65134F561FA9ED6CCD6594F8E2B6DC8546C7F +6779095AA991D32FD25E5E7A133DBA1FCBD74BC7B0EAC0F718185FDE400C2C44 +8B59991C9C1DD018F3902727EC317F7B28D28ADAEEF244BC3B09E010C290C8D9 +0E83373E1EA2357EA3162D613396A11D1C38BE31430A9F883C87EBE445088684 +CD799FE721AC49AAEAC072130E8D2F2173C4E634CA6E69F5DC6E4E89E53E7C3C +FA380AFAF5115FB1000AA9A99791865EA1E194BBF52EB343933AE0A363697910 +1883D3BB3F2B5BCA74BF77AA0AE780748CC9DEB8F919594616FAF14CC038FB48 +6CDC991D5714E8CFAF29ED79F3D14B529CE8E3A72E8770C02C84221628AA110D +7D7F6FF3841D4A13E188538760F8C276B50C43FC3A5A440297582ADC8675B878 +90EF08FCA0A37F34C988401381B30225C18C5946D56866014A3FEB1BC623EF38 +3E7B0F8471CEB9022545F3D90F2F21057CE945980EE45965F7C6AACFB71A8FD0 +EE68B1078AC40E104ABF5FB58A5AE3DF8DFB99ACE094367928AAF1B85FBDE001 +FD299A2D3243D0D4E1F9BF5639BBD7A96D502C48A5932056DE708A7CB88A8CC5 +E352322A9E0E8ED6E05E963828E3D76B2ECEC872496754139B3697776C022DED +9FBB8B7BCA4C1BFC078B1B4BB7E3530FD2DC2FA1BE263801506F142B686C6879 +BB487A74B38968D07A02DFDD52AFD396E88CBB10933037B3211C57F25EE294E6 +EB777130AC311A0EE1FAF898ED8F7216070DA8C51892E04AC47E93A6D11B0364 +241AE3FB0674C4299EE3C4FD162F1E40E6425E3E11CA760A1AFB8D2E27CC70C5 +615BF53D9717E0332F020ABDBB793ECB04B7303F40685A0D8B29A4E2C6167BCD +AA4565873E4A7E1AC131303800BB7E84F79AA98B7E792B8157FA38292BCD8949 +5E15ACE436C8BE29834F524552D810D2FB67017734AD4C03C73BD7C9841CA31C +ACB7FB3464E39F61016235DA61ADA8710BCE5519767276D2242B757B3B0B5699 +935DAA1B4A0701AD24097B65D3769EA5E45508A6D2579A081F3173F0F32F1E28 +2EC97C05787A7BCADBEBC7A1E9504983E856E98145C3EA1296B9565998A60B37 +58BDA0A88ABF39136FD74EDD15DCF459489A567222871889DF6543CD1E90855B +ADC971A6640670D14D5A2C369EE753676755568A45CE78BEB75DE98FD6A6105C +81BD69680D82DBFC86A39F5EADEDF270D9757F982699F8A3ED83CD8F5E26374A +82CB21947A0DBB6D7A6FC4F6ADF6F8CE74B7895AEE7F0C951F6AC2DEABC3A5E2 +38EB6D4FB4CA828E7984B0758B60E93291FA65BDA41BDD1AD3C890860A1626F8 +CA0C11872CB7C9E628A78F2E7EAFA7BF167CCDEEBE829BD3BD1302C0E4E37870 +313601E5C5CF14454CA69B3B5F2A38DF8F352848ACEE5F1045004BDFC92F534C +6E00875001F682FBEEF952CD8DA111CA9DB3031DAB0D0D8A71F41AF4AE7E9BC8 +55BA6FF6FAC74294E1DC5F047600D3E9790A434F5AE586587E2355C6BC8F4122 +E46DA77C3BE64AC6535AEF02CA9A56C7D6A1525E565157FD5E981041BC4EF514 +CD2DFB705CFD64C9A237EB0C2EC52DE80DB36049C5921791852AA9761B870221 +75F9B6F780EA47027FEC5DC776DE29E6E446F8425969C2A1A772D0F80DB2ED3A +12B279D3CDE0A3FBD24BC2F2BC54D522EA256139EE9281C54924042C6EEC4564 +27B3EC40268A5A7CD4BA5D279A8AE7E20F3132D0AC3798367D6C65D20F3CF20F +E712E9D1C49EB2766BC242BA82FE2894B780773725B2BA465CE5EF5D246064DC +29797C23D1C37356A111BD205AFC8678BA8F2EC47B2A4EF8DA50D34F075DB648 +44B346FFE6E7DDDAABF4386BF3AB848D548B2CEDB7AE775C2274ABA1708EDB5E +3E67CDB15ACA37A8DE363BEDAB04E822A04436FBDA67C76A1A0BC48B71A1F3A9 +9EA7005A7F3939BA5B8C5272B7F11BA12CBE776981DDF6C614CE1A218973A98A +EB3147C5BEACC6D85C0218D399AB8E6EF8C7DA136FA18CC47DBB6C8F4CC905E4 +7EE6F5246B76FE94E16C95E92125BEE0E5977582FBC5321C4D1B50BFB6B8CB40 +6DA97DB9C7085D38A7371ACA81217AFE2066BE751EEA53269D66A21E9EB85A82 +F924B6908295B8D3C2CB66E32BF4BEC8E5F914FD03A0229BC6C22661CA09E790 +79FC30E2A564561EDF97155EC22B17FC8C0E24BF95EB84FED35F15729BA9E65E +EB7D617822F3759FC4BE5D26B8A81A86502CABCBEB2821F31C81289487A35B2C +6634F1915D079B2510CBAD6B8A8A310FFB89C3DBF54835E2440EF380D5CD044D +79C868C8E19833928C61A638C12B14764C2E1F3EBB7D53F6488CCA64BD46B121 +2EF4C820F77C36CD60881000957331905C3CAE890191646652584BDC25006454 +B7DD9D36CC5CE676CB05648FA49E0D4C40CF8A467DC3073F1BE6123231E4BFAA +29D020A47CFA392063172C2D39388118D2B97A4D0B0FE56E8F5C75D5DA0670A9 +8518B93771382B5C9CAB5171A9B7E7BE3EDA56FB6F46BCF1D8A8F55E5DEB25C3 +120AF42C35A47212F61223E0F5DD9EBBD071E0E454CEEAD5E1AED7FE401135FE +54FF2515FE7F2AC181F05681230F2ADFC21480178265377C0B863766F3A89EBA +D5FDA711B2F2F7D0AF305603E515611515C03CE0D497F7009B15FDD3CF7B9BBB +8774AF7295A5FB58326524CB2A5B2DACAEA5169D358F6DB97A059AF69368F85B +637689ABACE3C095B5B5ECBED19406A241F0968E82FFB4E8B2DD8895A7D05413 +35471E17B3121C46DFE1F3393302541C9589089632A939336ADD5B2CEC8DFA77 +31A2F8034EBB20A451830E33233330851DB80D558FE1945A08F977FD569A7097 +DDC256C3BB5E0335A4E9FF1F59E458A23F4A8CC81A4A545BD85F86CC1E7DBAED +BCF58249BE18C57546F2A2CA9BAEF5E8D0C5128307DE9698591DCBCFF4A45588 +3CD844FCF4D1B7D546D66B6E9A10F0475CF8A4425DB318762FB207AAD6A3AF2F +18F8B93F0922D3130F2F34E309B03F50AC68ABC8959061BB7B67C09A947D258A +5B5B318E80062317DEF35BD7ED949C408CC920CD22D36D7C6033DF960D539E2B +8EA682A180C37F04528FA5069858C80EF05FEE3158F8B16EA9C6D0008F27D0E4 +9301620F7B635E985141CBE37D546A349B9EB1F0C2EE079A0758FD2F034DEE63 +A77F4905E3202EBFCBF5D9AF53194AFE947CF122C02F0223FFCE52C30C13ECA7 +741D9FB2D337992C1200E011B9D2BE0292D632EA63AE091B937B00CA429CD6FB +D7E27B3C53133F3C860A0EFAC0C263822746022580664DA465C985EFA421D112 +25BD0B56DB824848F63412C8E26838415BE8840613DE90502764D49643990BF3 +913E895BC87FE2D45134910D9F2AED57E244FB907BA1EE1782EF6A1908D52EB8 +8A0E35712798D4AA803C95AA6A10E4A8F537C1A1B4BA4668D04DA0C3CB01EF27 +2D2FB81322FF42743B00A5B0A8D406DE4C93A10C73CA28FEA7E3D181886E708A +D9C71530EE481BDB0DC7D5635615D2EA224398D73AA957D193D8D310C85E8988 +4F34BBE83B0937CDB02C06F09FE30E9D32611D7BB552F8CAA973546B52B039D2 +13C8CD65DF3E9220E12C475B486DDC9D1AE4AF17AB2B8BEFA630187D3617B938 +41721617F7F316402A65DD78B644FE2D3EC762FEF2F33A9DE36076FFFF7EE562 +1E1A2AA33889B1371F37AB9D21782745B0638EBAE39A6A91573F271CD97B1F2A +F784155AC7B610456C284BB92C0F1B3BF42B112F0F069D15ADD414134EC80EAB +B4BF36A66A43F756B609A29029C1A9683204FEA9B86F461555D654FF76D6DDE2 +A4B043BFB9A74D49BCC0F7FF07AE0445B5000696547B96FFB3C200768DCD28CC +D168368EC0E5400710A8EB3320F0243E0F8A271FFE250A165AC3D0717EBE2572 +379F61940798C6BA81EB5B295150DE6AFE2CBDF32706C489203D1D0B99114063 +E3F46CC6F1E8D9885872A81C7D7ECE0E1D10B6A9C035557B9537EDC5D0012529 +4081E0FB641A94147642D1D1F09AC50BD39587C4FAAD1963151A42886F73CE86 +FF3E369046B5987DC6AC3FF490B2412614DAF252DF71C6382D9520EC24C6C80F +32038BB8EE6F1F0653D3FE87028748A822CAE716E3BD16B401D405F5C0ABB7CF +76209DFE817EC80AEFBB6AF4CDA68F1A9AEFC7093AD38E31106B54F878D34C36 +C05CFF435107489ACE0DC8F0669443BCBAD218BA35100DFC6967E8C5A5AE0FD4 +55A7B09E58547CDF8ECCF986BB4642E3DA6E5AAE8447CF15180CE44851BC5AB2 +AFDA9162E3F8EE5345A84AE8353F0ADB44AC1209AFF4D937B5B797B348429D95 +26AABACED222D29F01A36108B86F4B1B5BD8AA39DDCBFC834D684E3903F209ED +2573806438DAA3A2B46FCDB66AFF13047A4B1221D1759B6E69A80F09012F107F +154CB57D1FB3EBEDA7AA800F1A217B92A73A591A89DC43F2C58CC2D7A5CDF71D +1DAAC77CDF41C6B305DB18C3ABCB9B36DE8522EEC89DC3B7CCB35B0AA89D1C43 +9F67A1E01AD73F77BD202D4E2520E4CB014F8147E0C01A2528E674AE656F8E50 +73148827D3A5C9CEF2C3B7788A0914332687E1468DE710546C7FB46E9D9BEE25 +E6ABAB831ACE7B5B8CA4339C98476ABB2B51D6394C6C8DD3A394588828CD7FDC +4194B1EE61CDC06B1057E8BC62594F8F223167CA500F4FADDEEDCBC99778B482 +56DA1E7B5C09D1A6EBC77D7B527419A6235438CCCD2112D5536B80E3FB85839C +DAE6F186D3099AED4817EFA52B7F568F6940CA90EB18F12E17B1E6942A12438A +0E134923AE5F9ED242551FF8A746218BD100E7499EF45C0C873BE6AFBCFB2B21 +0D1355A6849EB0A3EDA9A5F7C7A1A42E1AE72CB34B7597D3EA0ED9348C49DE6D +CBD1F63D6FAE6E7D46CF0D67C4201CDF6BAD0E1EBB264644B90C4B0F670DD266 +2DFCD60C2B28F1CF139D373675F6F30799E4B355229AEA6486DED99CF690C0EF +A4DADA7E0E0AAD1CA0C6FB2F6FDC6E988EBAFCFD7A49DCB0AE7391EE980DEE6B +7E63947C86B0B274A510814E5153EA73DFA9341796C27F88F76ADCEC27438B5E +52E6A675FFECCF216D46716944628AF91F663E10A973F38507293C0D170B1F46 +5DB5158FE0288C667934D6F9574BA49DF45293D460A24A8DC1DC391ECBCF74DE +109B067AE2E26EF0B7E2D94D3B70C712A92531D9CB97FB8300D047FC81DFFC50 +C86A58A7322DD04647D972236BD4B9170EF93C2C1E6779F26285B7C594244684 +BA6C28A87ED95CB5AFEDD99E7035DB8AA7D50A1FDBC56507F2DB7A83E569F69F +97BC7B84626E6C5BFD743D5B333447BDD19B1D5E8581978E6184174D46652F64 +132CC85A954F7006FDB2E82A61E3625A18C067F82CEF40ED7574BE9C2688B25C +DC95E3203506A0A9CBB17125086E0F1098E3B79176E11BA65F055706568E9319 +4572DD5CAB0E4C50984910FEE5818FF78F92C2054A1B7C556135836E902BA3A2 +596AE6A0D4355F8CFF05DBBF3FA66B8A7AEDE8337A2026893E03E65BD561E68D +DA32592C403464C7CCAD732FC4F3E827891B4CC9D8D1C3D9829513A93A6B355B +B89DF9194143FC8AB686B945D6E6FE3FA7C5096AF68CF78D2CC516D36BA30374 +AFEA624B77D557F06DAD638DCA11ABD1839850FFE5CD135E28B939659F815DBB +465A8D53C87C8EDF1E9FEAAC316DB62E887D0F04ABE77F9A337855FB33E744E7 +373316512D9BEF04FBB2995E8AA887FCE7F0F7BDAB71C0CEA58E944D58AEE590 +E4DD89CEDA2EA32D8D99DDBD44567C9485F4BBA3540428CEFA9AC0F6BB177AE2 +6150A53365D9AA500F78DE6C04D5BD49B655A927FA217CD2DB0381CED30C03F2 +2912F274AFD2D3A219A71331FFB90DF76E0C24A157090BB8B3A9233E89E4AAF6 +3DB1591D03AA5200F0C73F534A1EB4484BFB861F323BE67330F9BAE3401FAA3D +AC07A2CD5D10816C4A88E4B31E6DC79D757062DF3B506DABE5BD33B319B7AB11 +B92BA9C1C4C3B40CE4A6020E7A6363D879ED0884E550BB5AFF11F7328B25237F +7CF530A97DC7EC462519E6D3EA80D32752FC08132F30DB72592F4520F10CEEF8 +185123CEF67B82E8604380D41BC0CC65BCE6DE08EEAAB28AF3D3311E405579AF +01077188CC85297C76D9341C4002C123C8F00362FF6478BFC4D1B7CABD23330F +77B2706BEDB00F3FA8C33BF5F21211AD68FF3AC9B4C34F6738F2D41A6BB8CBB7 +8AB0806A424C01997D029B9A3338BE99CF8FE6C39EA2FA98FB7BCFD7774085D6 +35BBABB6698D60C171CF51895DEE35F2C56694698A8301E86E93B19D02C3B5AB +D2DB7BBE132843259C816E8795A19FAA736C0EAC5C487CB6312AE9E0748CD117 +3CC93892BC103760CAD3E1BB7BB548A78DA576C742DAA725DAB163826914F029 +30FAAEA08463BFE61B6CF30EE8F3DBBB6656D451A7D3DC90F1DC7DE683B0A0AF +934E0587FC22B99D4ABE58B46919818D09F74389CFE25A3DF25B3ED6C21C3EB1 +538B282139B25CF35733F5840023E64C1662D2201F2875F0F08246A76ADB344F +530B619148A2BF8F7C6554EDCEAFE8498BD27518E2C7910EF47E5F9A85D4D8F4 +D9ACE62FBFE34477E0ADB4BEAAC4FAE1DB32E022F1C9AFF04979EC82C9988493 +D4A6FA585A2827A7399D8EE9E358376E67B9C9EFBA4ED3F30C98C4A2098C7441 +BA86101856C3A60E1D0B1842162748E15163076C1300B1A59A8EDFF026986451 +9856D5DB23DD10046A42824F3953C87A67EE2D2F3EE62E8CD1512A4D18D9ADA2 +46EC9F0A186AC7783791EDC690F34D6308C7477C2FB5006E5254312AF4AB964D +870E218598F552C0F26D7A1299982A0578090B984C1F11BB5D0C3A5386BDB016 +0BD5D2EDB71D3FB791FF33423C6B527FDFEA50DB07C4AA8F65B9AE2D7079EB58 +EDBFFFE5805D5E4D2D5DBE66F3B5F2EC864F69356976E51873EFD945DC5D33D4 +17842941F2861E93908852528BC23BD6FF56CF9094F9C80AFE957FA18225229B +149DC5C15F421799834DEA3260EC1D93CD18C4A75D20DD24CB58BDA9185A8199 +ACD6562679E296B37051DE676E374163601F79685390D147A8CAEFDAF22D0BFC +1858984471FF1690EA5916654BFBE10174B3CCC84F89805E609A61AC9C5CF960 +5BE2ECCD12E5DAE53FC55B77CDD2A9BA3592A007431F576C5DADF36D5C1427AD +6189B8F415FAA1E38F4D04F2E8C6386E25C3BF311761D95F8688B68B5BBC1FB7 +D91400CD00EAD6BF646785E094D3ECFB8100BA65B665D6F5E8E35D2F5C3B3A57 +DF49B89D9151ECFF486567D35132F830E59CF04B8F38F00E9BD8EC4149591B0B +26E4F598D58FB3315151A810C7109C8A77E9FDE6C0BF8C551437BFACB42464FE +842F6792EF99F600C66D1204F8FE6288F1F8259A8358B4CA21C1B82DFB5AA997 +9FD878D6864CA660BD89DBAE38ADF821769D9DFFDDB4946F2DAB422F33458D0B +999FE26D8023866BF38CC544129513D2B37665176E8B0F15C3554B699B59E1B5 +9EB0CB8A0CF137AF32A805821D2F5EF806D9DDE968CEA58B1DADFAF0BE960B68 +E124580F7C3BC4089D9865D0971CC45CE74868C8122CAE43B57E58A5A862D5B5 +751016CDCEC16222435B5E823F121DFF1D88245E745FD51F4E971DA916E6C8DB +CC1B15755F72F5692A2C47AD1967E812F21563CF2A0F8274289BF22405AB8158 +73B8BB9AAAF846691CF20B058B800FE1C75D8FC586FBF3BE85F1B87073565DBE +FC1DD2D7C3006FD775C2349DDF659D05224178173E8A7AF73F982C90750F8356 +BD2BC9AFA1DB2007B89D6387A97BA32AD4FC4BF559EA5FD2DC6412E8B460B251 +8A1CD242CE0BD3CE22A7F97834BBD4475E231794036D0040A8EAE9ACADFAAABD +83EA88CBF0BB9CD0C3C60F5379FEA1FF57255DFA6CD97042BCC0C9CFF68E71B9 +59E6080A165B650DE75BC264B113A3D00EB5BCAA2F4E7B2F5BAC3162CF23BA3B +E4C2D2AD908ABE5C63729DF4CAABB6B2987483B8BB39AB836B05E30B2AF3211A +65CD7280C50427159F00E27094F7DF1482A0F5C11ACD1FA25174C78BC44084FA +B83A8153875B85D1DED601875334A8F20819A018D1F05EE6D840331DE4CF5EA1 +9C1778E223D44F8F85D20C5D8B5B6EC8CC1773B7072122BDF4C41E0F66FD50D3 +0993E010D9DE243826BF3791DF41EF81B077C095BAF5A84D44AE4EF6AC3B5396 +32712CD96F96C4951D991765C2A80D4BBCFDCCBD87EC0677787C5DA8EA93F859 +8A0F9B2B2FDCEA5A22F19F0050EC0A6A4A1F164DE87F1F29B6D49A58D71EDB77 +A1E4D554685156F111E288F0CA0919364B7378DF77BBD2FF9EB451E106AF3279 +7982AA2A5A87C95D170F2CD52A37EE49193CCFFD6ADEDBB09A355B76C351DD5D +1A345EF1AEB6AE1E0F97F775214137797E433D351A6DB5B7111643C283D24181 +D0E270296D43E11375325C95765C3C5665260A6DDFAF7DF22D248190C525946F +B6B0ECF3175CB05B3FB54AA3629F910573037B8FA53F85FBCF6C702E36293661 +55E05060813F639DECA4E473CEC7B7542AF0ABC91F1A51B07EA37BBA4FF366F2 +88689B2414C8F2CC0E18C630B2DA735AAB8180F58A551535C34ABD8CCB1093F5 +D933E742D3B702572F06EBE5D60DA7AEE103E825868D663044338ADB3C9D1899 +D9974325D740DB84212971625B8E379471C5C90AADCF0A9AEB1D2D0C092373EE +25F02A57DBC7E2973CCA7A6BDD71B32D81E970731F6B46436EC5DF7971150881 +90B48748B0C9E9BF661E3BF9BF428254095BE013C649C2E99CBE108437E64185 +EE4EA13FAAF2C823049C9EDF27B5558B3D94E21A246CAC4EADBE7E31AA3BAF46 +15EBBEBA067037F1FD1EDC9F9488AC031AEAC11EE61D9ACAFDCFCB2451B7D944 +89F148028EE70BF5550474B8C34474A38404E53B10C0B770619502A2DB4138B2 +4BA812344D3D86C1DD1FDFC25507CA39CC10BA327B7188B30177D2B49DA94740 +8FC3EF502B0B535BDF4A81DCC8B0FB99E9117351523E1ABFA0C2879EBA5B374D +3CEE4C80264717EC5073908F8E60B704457C3F0C1D32A1B61E6F25D08C36C051 +2EA798E6BE78EDBAE978E9F41D87446F0D3F724F1BA22895465D091BFD8B6E7D +BB3D4EFC2E8D59FEA35263C964529F9E0F1CDB2AC0DCA9BA134461602D22AC2A +CFEE36E15CF4CE30D74BB5A98A96AB6D31E3D418797B2EBBBF0ABA03F20DDED0 +B437CF69A1066F5EDAD9C21DC18BC390E0DE088B82EEFC23BE67EC5EDD0BFAB4 +FBED26930AE2185C1FAF80B9596416522B0B615227330FA99659A375F261FFDC +FCA94B360DFF79BAA8E856DDCDFC95DFA4F0778A4F4BD99BC43EF344CCE1FA95 +F0E7C74A0E38AFAF9AF2F7A4613E8ECE116018437555CD00451A28946AE8196D +3CE6273620A0EB981DF43395E52FD05DE06C76AB5E8148BEE6A6AA07C945943A +06C90FE2F5EFA4EF1B6DE6BFEDB6B673460D4B55452EF438AA0ACF7E9DACF826 +BF1C7EFD78F501EF65D3A77750464EA1C36BAE51DFDB1F6ACFFDAB646297889D +EF18491F4BFAA9C2255D6D66D6E975C56436FA1291424C3A3FFB833285EB6118 +FE8AFE03F16A8C99DEAD2E987B97B9B6F5DEAEEB3418FBD95B0E0F8062D8B445 +7AF2917A3E50C1FD2CD917A4DCA5CEB841A393F12716FB067C4C431D3738C4CC +616FEAE739955EBBF2388AA113249FDD3CB65614972EA2ECA678858EF2FD5A95 +D0161F05EBB9F859D155E7FF70B567BE42FDEF8AC8FD584BD6F3848121E02397 +DA00A73E52025070CF6D6C44CA0FFAAAA6EDB678306A3CE8D469F94B4511E4F3 +3581CA8695A0E5BB64116D8DD899837931DBA3862B69B38FFB6CCBF1D6199DFA +4801D1007F9E4CF391406F0AB61352D6053A2C3A38BA40BDB894EB7EBC2DAB34 +BE2E082037DC7BCBCF8DED1852250412F6ECB9BEC20A04FC012D2F97159A979B +71E19442DBA788E65CBE9ECE846FD307CE7103323FD49AC37565FD450B5B4662 +4381EBEBB98186F7C6DFDAA22AD161B30A48D6C8B233158A1EC56BE74188ED67 +DD8937011B01FB6F690B6EFA7C9416561682ED59D6067CF28827291915878663 +A2CF19D86B2AAD2476F03A1786D6072E9E14321CB4643C3586D8D3378E12CCE7 +EEAC5BF5478783F5600A46BD929BF75E254F5B9991ECE829CC0DA99C2DE73C8E +A1438CFEC618F8239FCBFBA63C3CC68EF3C84D492EF39E428A4EF041FC7A034F +8DBF169C96C7AAD7EF572EA9D8E7995AE9B5820918604E0245A58196E870C92C +A4269B9F06A7945D516A8C1F571D2C658A9A95D02935628CF61C7E8E099E96A9 +A0CD9F497056AC91DBD40D589F463DFC63B665107EEDE9A7702B9002A4839612 +FD9B2CF0ED8B9E899B8A311435081E387998496097F860C70B0856217D31077F +0628139533B6B19973D86231548E6D47E7167B1475063B8970391B9D1622D8F1 +CB1B46509E78AED81B437787B47B8711712239D43F2ADE009EF927548DF663D2 +21E2CB3AEA75D642BA7BB2DA3AE9191BBB1534EA87AF0C8BD688A01C8AEFD429 +59453063E34CD9378EF7DC4517E5007FF110C2AE71504E3BDCD9EBA1694C4785 +5A4022233893F25684FB1B5FB3967FDCDA0E19CBDFBA7F4AD16E91B798F38A0D +0D9382A1A371236BEC93664BA5C5F96BF93FECF823D8F11D2BA4BD28396FEBE5 +5A65BFDA938F6D476F3D850A6A9E0576E82C72F0177076866FED31245B67B7D4 +2C09118B904D86972671B7F202EFA9FD9510419FC9589352E6004237B6140EE9 +5677B11B6F16C881CC0678BFC2A47F6F4EB7B86D424A28AF414D5D14AE8EB2B8 +CFBE634D951E20AF1C2E5461075CE0120C4C28AB55B3D1C7FA2C8DF5FDA22888 +3F91696288A283879D31036F9A7B0F1627BD7D3B1830DC3EA77BD4BEEBB66CDE +AB448B52C9B7E44DC1121A01CD198D6C53E84117BB796508B053D85567C8DD3F +2BA6C3EED05EF6CCC6FF9A6BFB1860B6E302982DDE2068781C15473CC0BA8C30 +10C7D99F3CCA2F31CBF0994DB5746F78021809AB116E7686907AF69AE07269C6 +3633795268FE168619CC3BD6CEEBCE16566E581FF7E2EED20253155807B7CC5F +E3C3CEB9B6610CAE9A6CB710B84DC00E6E7D4F53A0F82FA4E9C9240578DAD3BE +6FBC79391DBE1F06569C0D0DF69CEEB4C47C1C839041B828D6B8260C29009FAC +3A166A6D04B47E4EC4C57EFFAD93596D486FB21E8CCAE06BB3BC4CB8E191B3C3 +5925792FFD99715ADFAF58605AEC477934BB2DA781713B740D3ECFB6903B9D0F +BF0DDE2FBBC352312FECF74430C923C9E634CC8887973B949AD5232B0F674D52 +6500120AD24310F078117DCBC671F4C7885313A5F5579A639127C830A4BCD859 +832EAF9236FE60F0BBE3DE38F19E55F7CEF8D3CDB218A63A387A8B4F2B12380D +09D39DBFE2D8C471047B36549DF83B517DD57EADD7B34476DA3974DFEE987759 +AA1E2EB8F835BE740FDB2DB6D5118E9082302065CB6E91A2F3C7B5657F12F842 +89B702DEAEB322FF63C34FDF5293CFAED441F7692B5FA225EDCF155BF3105E48 +7E6A3A99F68C20F5499CB9B26B5D7E915175F17B6D9D2B012906BFE07EA38F28 +EBEDD8E34246A7C6184FEE0E4CC01F5C6F8970DDCF67D3F7AF3E64E2E0EC0F85 +363953AE8A29969D71357EB11AC7E21DE2BE5723E8416A639ECFEA20D0042D72 +87E92A6EF2027C1C8ADF7788A169E06F50268D1AD9012DCB7965F9173C4995A4 +C1264D0AFF2A649B8DB2F0EE7CB5F74E0FFF03AB75E2A32BE4B1D4261EA69B5A +7D0A4625CF33D5B9B13439BA2ABB30AB399211A7FAEACA25C721845795FCE18E +C752871F1D5B2E8F42FB13E785ADF1612802979C374F124F1FB8F85D328F3A09 +1987C577078D35BBD1892C84DAA254000DE099F7220375BA244025221D83AE07 +767160AEB66FD0D8A9D1D29A68836F837C8149C2402C6E42C7AA1E51DB4701C8 +FF47C9D9B89191E914C0B5E2D464201C987856B5C8347CB567E86F2B040B6B4F +15A09258EDC942844D997873259392890204CFCF0DDC475E846658E161204272 +2BD48A1032E05D73F49CF87C0B4AB361E0A8087D5BCBE2F1F4068B635BBFEA3A +6595BEF5DF4F34F0375C89AC1F42D264C16E61B4861250873B67ABF0CA8CA846 +ED91961EF609560C74746062DCAF92A8EC4010BC9FCD79D7DBA48753F02363A6 +1A6BE1BC087E48C334DADA1F21C5BEB5C169517D1ECA54FB284C9919532BEFFA +884961384205AC450A6329C27678C7AB2AE0BBDB3378F9F3CC026C48413B13D5 +EF8C2AEC6F34C44B7BA04D71971C62BE351560798D2FCA419BD75ED389044AC9 +E62AE8B3EBA2CB0826DFFD5D6270DD802CEE51E7C137217EB34094B44846EDBA +0FA5BDEAFE7DE979FAB20CF48B28543AF71AE789D3CD910BA237E6D292C9DBDD +078EE3101F557D5403ED2F73BA84E97541BAE26673D53250FBD8B67B16CE6682 +CCF3EB4DA7889B718063CED7EF8D4B97E12EF318DE2E0C9F5B439B85B038D979 +B442A57E96C0E0D3CFF2352361978F71ED74CF86738D0F8AD77ACD20CB9B305D +52DA163086C39FD967DE099AF9798F59006DD0BCC8508410C13A626838192AD2 +EA130256AD24CFE5A1605C1F679CB7D030D76945370A7C2E6B045608CFE10D55 +19C6C9A84788ADF3EEB12D9742E04CD0E4633FAD0EE1DBE291C13EF093FB4C8A +1BD8693178646959C4C9EEEA2EDCFBA5F31896B86636933A6F7DC43BA8196F28 +5487F3259CB21448E37B1708CEB1E1651C53BEAF0D09A17741E2B1B7870B431B +9AF492A59351A536E15167D5F5E26BE73D66405775B956653D2B5B23A0B29D43 +24A5507583E35056011CB334A7FA08FC5BFB50819FC146515A069EBFD291C5FC +E0AE26EA930F5DE0934EE1986AFC357FFEBF99CA22AD12086542E2DA9C2F3157 +39F1D7E591F392304DC264337262594A64B6EF4F9741D034B2C291AD19B7F13A +4EBFE6A338443914BC6B81625C7140C817D39436B6AC4C2908603CC8D4642E52 +CA7A0B9CD1D230BE607A5FE89771E21B897F0BFB8C7A1315B554A4F036F8F50B +4DB04A6FB17F9D6F86CA00F8621E2216683BD2BC4668091700BE1EDBF9377C7E +A94482C1251D227466ACB8BCE5AED8578F0A4CBF78BA3D909D9096B2CC7E48E7 +E346355C3455C20A80A93F1492C285C427581C7D10A5459FA997C96F9F51ABA4 +7D28A48CC9E59B8D8476F6A3AC1CBA05DEE690F33E5A75C2290CFBA105FE38F9 +1EB9E309AF3F7A1A44273B2BD0FFEEBEA9ECA9F60E4008F83ACD56078C698C8C +95BDA63B876CD63990B23F1EF7E4B6FCAFE47C62EE9AEF014071117FC1851F61 +2514BEB09DE651B7AEF1716B7D4C49609F125050559DCC289D410CD59B4AB0ED +554449BF070327E9822A863430F59444AD4B6B91C88A7DC58FF1701EB2CA81D7 +2DBA5B749716E09CCD9CB8DCF747546F24967985F4CC7B052FCE186DF5976864 +F465517D8F479192285345CF7401073D5DBB5878EC2C6DCD11E94A0649CB320A +61CDB0D6A0AE01F4CEDA46094F100F58B7F7BD9A1C40610B5B2C08193B3CB9AE +AD7BE2796D9B40A9602282EF0DF395FC8A27CE9B880C73A7AA7B9498324669B9 +9BCA199EBF63D883FDB77ED213A8FD450633D1DD9AAE6534E3672F4795F49713 +72C1D053F5BFFA6093FDAC3F7527426740B53193DBFA84375E2F697ECCC2AF76 +C8CA746B032C293989FB9ED210703244493EA7C3A01CADDF218D3FB543DFA5BD +0296333039C5AE67AF1D3FB1491E54B4631B65806A30B279AF8F82A8222BEDED +44A451B84EB62FF653AE3C3C1FAE373FDFCF5EC38F6736518BB69B250797FA03 +6D4843E535F9BB28830230482FC058A1001E061552B4E00386F048883BEB18AB +0F1799221D3AB37963487BDBD9B298500606512C282DAF37BAD73D5402252F47 +8F30C91E42B4A5D2F2DB3E750D3189CE6613EC3DD73B055C +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFBX1440 +%!FontType1-1.0: SFBX1440 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecbx1440, tcbx1440, labx1440, lbbx1440, lcbx1440, rxbx1440. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /SFBX1440 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-218 -316 1652 915}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747 +57609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9 +3894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4 +41C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E +ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F +BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0 +C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508 +2666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C +9A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215 +EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1D9F9948B28E5C +88B31806AF1433ACB13EE555D069E50649D3C93032500DE92DCEF42B7487E4A4 +1ABF7F6C8F177A4CF5776AFDE02721C8B9F69A7CA769B2466EB4501A7E5683FC +58FFB0982039E9154719C1C110840B2DC207902F8EE3E83464C763A03C52F60D +D7194DA5888BCAFEECA5C0AC8DE6DCA956F1D0E6AABAB6E20F7B64BBC9871543 +D62E73F596D732C3A412E916A3EDADAC745BED5D2176C14AF05DC28DBEF5C944 +FDFFD52D98A35990F8D5FE21D5DCF5C9900FAFFB698C14E56B6667CF8734534D +8698ABFC9B4BE68E86CC30704F0CE920EF1B2B0F3A73E6FB24B20F9702ED522D +C0854E870B8B81B62B48650AA5E74D2F06FC2BB2E06DAE38B8F0D829E2240B76 +CB76085648CBE820C02A50638D84251325835B79D82034373114FA691B029ED3 +7E265B00258A76B193EC155C0A4DE5338B95073EFD9CE428E8C7D9F8CA3819F6 +59291A239C1CBB8629179F79B794CC64ADDCC520647C90B2AC97E3129FFE6A47 +71E86300F2FB20F2CE0D6482A2F94630EBE822C060B15F1B57B51C82D4AC05CE +B552810FFF3EABE30E288BF601AE1003C0DCB4B555167DB1E6F4004684B76258 +726C1DE83C45C8CFF7EB05B68EEF717FB397BEC159B148060F15EC1B9269A780 +56FBBFA94D7E8333173E4BA3BFE2854107F555F08E9105A080F1DC512EDC2A15 +A74776E3A18FAB7C1F64921B8A976D7E279395659E0886ADFECDBFF558F1E4CA +70E9A40AEA239D0DA342BBCD975C13315C3951A6527B3BB9AD87064C0B4A3C2E +FE1FE92EF6EFE9DDA2D709D94E00EF85C03F169FF99CCABCE91F2140BA287866 +E237994F72E705AA7185CEB4BE424923A196FF49955CE55BE7066690E780E3B8 +76EACEA86F719D6327C049905B70F9F72252A06126C8B4A56669AE182EF98465 +4059FA3C23B13593FE6A5DB1C5C2E7B9BA528C4E0CB9D1B93019A8E265824344 +86947FDEE9A49733A27ED7F51ADE0FD2A113DD2612350DEBB93EFEDAF6F39C6F +ABA7F3D9349EDAE7EEFC31F9D510418FF169EE4D6B05905B96130EE6FA2DB817 +49EE49A4F4C49FDAF4F61073438D53D676F5D5ADA65791E20C3E433BE062BF8B +9D022DE963F8DDA6A8CA1A304AA20C31A589D07090EDDB762A308F74E12C8424 +24E029E5AA85A8D7039EB206F025EE75EF233DF666CBD0FE4F0C4106E016CCBC +73C481D62BE2CD71103CC54D60E4E66AF7CC62795466A3E7B1A94AB4E7D377F6 +B7BB47F307D72302B8F94274D83EF5C41C3C5F8114B46CCA0E57EB32802E5416 +2EED9743461D2D1A76E3AEEDCBB9185700010921FBE9A3BF6AFBF1942787A468 +FA39B093E080B08F124A61528B5C6434FFEF6D68C98B9F1C3F5C60ED024F57E8 +2DD0F836312FA51F866D49187B3E2A2915E0454A4AA688165089897077D8C442 +3D10F8A2CE50554183F312A7BC87D5C3EE7287DA937B474209957BD46971F5F6 +EF5B5ED47CD8B004B57C3F8810014C31481600E2BD4D7B418A019F3A92B7D92D +3BE4E7795410423165EB84744390FF2A6C0A69DB32F2039182AAB2696F59551E +A794895BA40F8AD7CEA83C899387E2A5C860D9EAD6AB9E2498BF607FC96D2ECF +92AD53351FA9A291FC9CC8C8B191298B1DE626D05C96A5EAC0693CE5DF610DBA +35BE10A0BDC92DE2D075CC9EA0B352F70D344305DE698B13F0EE51BB8C838848 +058B25DCA0273105F11543E86C215CE9B0DB507A58B5B98FC3BB678BEBCDFB46 +C68793400B20E042BA55E2A3356EAB836DAC4800C97EEA153A44CF4C4C0FA45C +5EB8C4C9824EF4E9CF895B8BF91443591A8845AA3D9E7850037241E18CC0FDE3 +14BC8E0ABDFEAD85B5A4BA814CA2B258558D55DB22566FCB135A4E492B3816CD +777C55A00BCE19F67E919617D5FE5382E07A0335AC8324405024951654F4D037 +DF90A94D5F72455ED72162D199CCC38215CE324D0488F9574E6263837E6C89C6 +B147D972BE838A53674134236CBBB25691DEE7635631DA60F55432929A1C0816 +9CB9C24E2062F345A33653C64546E560F1515876812BF0CDBB53AF8F8017D43C +472CC042D06C6CF00D11367B38D977823C021047D0CA9A4CCCB636E923D56791 +014712DD21E2AC4B36F2C44A99FEE02231973454E506A7EDA19FF225BA338890 +C5E4C89C600A19B44DAFBD70D9D22EB3E9292F3ED47688F7DDC03516C5EE15BD +E294CC18F968DCA42CEE062184CEFC151AC9B70B321CE632A9134E57DC364AEF +8D56EBB2809C91FF3FD1322AA99B6390DD9AA79B27397F787290D7FF8C677705 +7D96CFB98975BCEA1293C2D4F168426A80EB406A67AB1E075F05481E39E7D0C8 +B621DCD49E8597360265F1D80A2EEE072875ADA58EE90965EB0E987C0B3B7917 +BA23FE14C2AADE06B13BD007E3776FE26688D3AE88D250DC6A85C3FF736F7D09 +6DC25761E86AFDE134B1223D2A02F6922A1E6C0928734867CF629CE465DA20E5 +5FA2C6A6B1F946BCB7EF85045B2B1E29781C91E02F43C1D0E4C1A6F0FC474330 +D5548FC854AF646F86F1A125516E25FD221A20181680F53ED87DD09D744CBD3C +6576252E726D201916D593A35C00F1073FEBD4D4A0A76151A9471489A27E9CF6 +405EE4C86F34E7E66D3F9AF497C0E16231807435E72A74B9B5C4BA8889012BF8 +40FD65270EF8EB3A1425BDC5BCF4C85CCF00A1D59BA4667982D2224354EF7FE3 +F3841E13D4F36E015D90333A175C8D8DE89E25D510AB158618CFA2D579FC5C30 +27341ECBD768AE5844558FC1C5B080C962D5D7BDEACB02BDCF20465A8A79F72C +444B2D7915D902725939390051529D3A80BC3FBEFCE09EE1974F6CA604752952 +32BF2BBDD15216C57251A94A2E7348F3DFB5B8FA36670B1438E6A168F565A5CD +E781D8908FEC9886FA4B0072557C5EC4D1F91FB39541B8757874D2BE4842AA01 +2D8F4F735C79C8251FAF27472437EB991C97AB40F7A50968EF23A47A2494352A +4EBBE0BE0ACA51F2AF6CE3C6EC2110159D662590BA16F111B283D212732D8DAE +5A86550E0FC62990F3A8774A6880960BF2869E3CB846CC82BA6CA3B20B1E56A4 +6BDA417FE127C21585D66F95FAF7D1E9752C8D3B41E0A123FBBDE22F8187AF34 +646FEBD88F13134F93BF24ACB6FAAEAE69863F1B01521E754D9086BFA198297E +D08DD57201859FB92EA58FD6661205683F9BC9C74EE0BC58AC36C802A06B3A54 +5B9D3778C5DE154C7D677AD25547888AA4DA562C245D9611D6B9A0F43D1D2724 +3FCA3AC2A85AE8B0F4C743CCAA43EFD1439B4E4F0634451D086A7F44262EEDB1 +754D92D4FCF6767209C3DD2C4E988752AF6C7189714F48484F0C032E3F0B911B +A2946D40D26538C0A2FE6FF83B554B290734A845FEAB6923FA5B4BAAFB29F046 +14DDA7052FF516185055E36717092CA78B984ADD80D97CF969EBB7BE3D9AF57B +7CC30B6CE0F4A20B0352B2CB4C6D9B48624A4E81527F6BEB58814CAA58557A3B +331EA44FA926093CEB9775B5F46CB4228D472AE283F5507F6A97549A6281584F +024023060F377820DA5991797492318B4A7FB9BDB94221EF653D3B19FD733028 +1523A24D3FE3D8A87EC7D1C2012EFA8553B0ECA1E53FA0604F07F199DF340E05 +78AF13C8BB4B01F056552345D69417AF66307EA431D1DD4AC2CE36F0C62099F2 +29A909F8C89D2FD614D0A1C73129BA80F98D57358C5A6A2BE8F779FBFEC09764 +D216BE0194193F12F5586AD94A9B7A7F52C5226042107AAEEDC19442FBDD8350 +3D108C1D2A535C76F2015EACCDA0533E943977A5952997A76EE71BD8315FD944 +2C290FABA1C9270D3BA6137B67316819E3C86A6D4BC4D1CA6AB363C5B025F48C +20EA921AF6B8A0FE01D023CDFD9F2FF79929CAA374AA5BD5B16A244B6353F10B +AE5F4A5D720BBACB948F8A484DB1BA09AADF05EF93D978075598F37DF29454BB +F727ABA4802F0818924031DEBDAA8BACC3A9198798B7A3A82E3FEFCD34A540C8 +FB9616F9CFCB7E8EA5467758F590CF4C75851E8ACA14E5FD6BA44209BF5E3A4B +A9E7582D800DA6B4E644F5AFF9BDE1D94746B56099CF4C69DD98887B0558D80F +6AB73672D36BFF375543122059CCD4972FDD5A13226B636F31A9670EB8ED6BB2 +F154C62CC43CFC0992B53CED0B6E1698FDBA922439D31B485997AF2FA2172F2F +A52264F8F41A202FCFFF3D4F59EE2B52D2DF34CB3032D235AC8D305F677FF348 +E8ED022BC8896E1F0D19DA566E1A005AA9FF5890A3EF59251992896E2DACB179 +2DA8AA542CF25DC62707F8197943268BF6C4EE974A29E11E616206524AE42399 +5F527A2F37D55A4BA4FB7C83E095AE14BC3576B74813C32CAAE86DA2CCA4CA4B +67BDF25AD0563924032DB576103CE40DDC83CCF7770E6E7C59C4558FA322B3B7 +2F00014A634554C3C0157825F1BE1F15AA3302B07DB3D998AA3DF32558EBA96C +17EE5BFD98C6F798796C3B32AD100A7AABBF9CEDB3F956010D4F44273492DDC4 +3003C0E99AD88DCA692BB289A3160110CD44E8B9911569BBE5859C5D5E32E767 +BF3B2DCE86D087063159E197F46AAE7CE33A000E9606C7FFAE669141EEC6706E +FB1092E65F6D8D4DA45DE6FBF64947CFB2BE1DA039D5234B380545252B0FCF63 +F4D1AC55E1D63AD86FF3B1EDE08D8E0531224B173C3D95DDEEBEF6C21F32802E +7B644F74737BB4D418C8D726BD0069D63A29995C8F1A10B2C2DD83360B845F8F +777B7AB59559AC79BDA3CF37ECD8E5A8A722A37AA9E2BBAFD0DFF297412F05BE +0ED66AD153091804325EDBBB42CB75B6B0387037465E8326ACE6F0EE58D3E084 +1829EEF6296BD35F40ECD773CC32F9177051B66626037F2EF8F72D3E8810F44C +1F90A29F713C4B6784C28130E159196D62685E0BB74FA8D305566BAB9535BCEC +11888D480C4FFBAA2913871A921E3786DE1A12257A2F80BFB32FBF06EF866BDC +2078EDA35B3EF74B76F7BC2334609D8770C72038D2441924CC860D5D6ADE6ABA +C1A2B9F1957D2BC023287E0586C1DE490362FAF9F6F9DC2727A6C59FB2B5D964 +FE2285E31989960E6FF2AE617BD0942BCA05F9EC6EDDC6AEA463308DCF934F95 +47239ECB8F2E788BEBF2316DB4434CF4778BA8A08F81174FFBC7909AF179689B +20B21F6CC7A175FEABDA80C9F12A93F017BA002DC0100066E149089669FC652E +DC347D8345AD1FDCAFB9194886DE76368C58A3A0E2B7EE5C291BF7DC9D492ED2 +034880F94B19FBAFCC9140BA35F609878F63563690FB6616CF4F561C0F16F1B4 +0123114AF5F6119F3E31DF844B80FD932ECA2B1FEFDE6DF002F020CE5552EDD5 +96640576111071F9842E588E8A53FFE7F6E0C73B532238190F81728C8E84AA50 +34CA2A83C89317C2C12E0849D0730493F2B71BCF385A9A7F1371490BD74E5555 +4E8CF3E58A1F64F68659A329118D5AE4A04B529CC5FF1D10005BAD9127E3DF9F +89CD1DF2EFBC61DE2167A4EAC0BBB553D2E25F739057AE5FF0400536C96ED9B1 +3E2D62C6373B30B200B46E02CE575D7548424E8A62509515B1F8D4A203B55606 +3CABDEECA106FFADFC82AD0F108B53BA73F703D0EFA348DE07C687E6AA0A1A6E +8D7EABA86EC05EB9182E8CE99206EC7058C6E834DB285C80DB394CBBC16C8D8C +BF96C549535FF126795B4815AA6C81BB02BDAC98F463F9F2DB713F617DB098BC +D2C0A21B60BE57B6E9FC564DCEF51473A34B1180C87FDB21B1106FC1AB1434BE +0F486BEBD3ECCB35189CDD7CDE672342B98C8B6DF5674D6A259A56F4C16261D6 +2BF54A98653BC12D34082E154839D2D146296AA6AB6EE175A70D1B7E169CC492 +0ED7DD0EA7E721B24437AAD1B71850694AE73296A0548CD56785013A5C6A7C57 +8242F9C073D5C913A9DC12FE9C7A00AE3900BB5282962120BAAAE8825552418B +A6EF605546465D1D51CF44DEBB3177037AF0A01B8533E61CE4EDBF519D72A09A +9F65D4BE9EA9D8BE9CEABA2FA6652BAE2A60CC8E3DB2F96FD40D8CEFA73AB0C9 +2DE2D075CC9EA0B352F70D3443024DB75306E86948992EA2F55881B9BC5D665D +E316B46FA1C7B9BD37D974AC8B12D710E9F234815612041D65F7AB542C1FFFE3 +D303687A70056A21792FC0CAA7A490C010EF2354760171613751436F61169344 +F16D65F08323792D55018D00466D467D451A5EA9CDAA07C11E9848171A2060E1 +F47F0B7609CC7E46B115C9D6D6FBE5DB269D6C785041CF4C252DBB92F6103E5C +F27544A9A4DA9C733CBAA2104C13D509344199297288159243942BDB4B57EF7E +58F7B026929CA4D6209472C58851280518BBF10BC64AA63302CAECCC09C46AB1 +192DCEF6D7E7BD3D0CA4E480D6327B3A5608D50778A51145669DA65C070D9E60 +E0A797E0EFBF9FCA57130803563596ECE28F6C40CD614F18EAA944673BADB4E7 +20E5D872AAAA47A65D325F70930E8D7DA817AB20E2F5767F2497968B6F19CAE5 +CA70E18DDBED0789AC6FA67A329BFF8DC7D9233840841431FD101E684692AB6A +20102DE05AE4CF51C7AF1347F5A1C8768CBEE53402787A22BF5DA37F4B3EEAA7 +2C0E4537AA133EECCB6D285EAB4720FCF2FC99376EBBE20F6354928D3870F6E3 +07F7EEFB23493FFC0733B474B943DF0EA5ACCE8ADF6D1AEA39EE9FDC2A1223CA +6D6776B9E4A7AA577DBB49F1DC54CC0994D3927A26BCFC59BEE455F29C564B60 +FA5C65BF595737280992EA0CA133296F5544899E9BC19773B1F7C9FA10B3A52A +D51618595AB6D1FC6EAD553A520F2676A88DB50E260794595C7AFA244C9DB0E9 +9A3098954BBC19648EBDD8C739C68E778FCEB19755D84E02F4D57224CD9813AF +1D7FCCE72138258FE2EADCC25BFDFC9F6BC27D09621A5C5E9822E8CCF89283F2 +26681393A95422DC7897E3FD02939B72BE23C90B0192438832D2963055947FC1 +067D5EBBCC34A8424B1B7F820C3863CDA8AC53C3E9B70C22F4B2BE684B749A1D +5F47814A253DA746B96C3013D38EFB1B705ACD02BED2868524C4B7F7EBE4C9A8 +1AC251A26EF66A325D2590889763C0BB94D94C79362041DC8E6923B21CC19F58 +1EC026DE5DB104A8F2391DB2EC4704E4C7DB807BBCF3CC3A51C28763E7D96C7E +879EB79905E020B6A3F62B37E30213275A6BB5ADEA1F68825054C17452983D4D +DF9CF1A646DAF4C199AD347F880CF434F9D47FEFD2A56C190D816C4CFCD5941E +1ACF6A13BABB9017E6E32546DA2CBB3D700532353A0A09EAFD6CD4620F24BB20 +6B04189D3793748591978319C613B7CF53983E67FC1E1E54A9DEF9CE726F3EF4 +25D14BB8004C5D0272CFD969120081D57AF688617314B6294A8BD979D0E18AC3 +194C8A46D164857F29AC8DC0F34527ECA7D071B372032A0A2203C66B672C3C04 +B87D64AA24788C2DD47F3EEA2CAF5D87C2BF5A1360D3887EA695AC8D1190BA07 +19EE75F37FE348A344A81F1C9434AB91F771A43E794647CF42873A11216F1AB9 +FDAB2AB6C754BA721FCA3CDC3DD7E469B37CE1EB1D1369A4F7D86AF87683EB1C +5E2D089DEC3F27752170482765960AA313ACE31F06B8DF8A8717C41296075286 +EC52EC611FED9B67011D26A5B089D2FA6D5F95637897D9F07AC6BDC79702571F +5CD690DF2B3904A6D968D66BA2F252EAF13ED8DFED86DE9A50266375C4A16CA4 +5AD99C6F46F4FEA9D490254D0B8B890E332E065FC825D15C8042ABAE0FE6B7FF +C9E74AB677EF964F1B2C75F19ADCA0383AA86B2CE30AD8442D0D5BE930B51F65 +5D426F0258AD3AF3762B10F34C6E09398C197F4AED4B02C50A9C7BEC3EB7D8AF +04516D0A58BF46BDD0B08A487186EBD24ECEE90D6B327A49AAB860397BC02A2F +6319B8DC5410786F5F980817FB5C3DFD8EC23ABB784AE1B93C6BA9E500D12BD0 +9D01776436F2979F3EE368F0F87EBA74FFAC047CB1E113C4BB90C43C27E56990 +C6266654BE466F7F65FF8022545893B42918ACD45660016B2865C0D3E47B18B2 +A77609A5D2B18E3AA351B5A5BDB53A9752A2F8ACF2221AD60D8B22DB6384862E +6B822DB60B75370E3098DB08BE8A70B0B58FA824CB1132A858400E64626B6B18 +23B60F897C57D8C0C83854D45F2EE5368A9E6D98EE5C2FFADAA076D0238E90CE +57E74E9D32600C3B7ED4086C8FCC3A8318A9302FCF2021B83E6DA70C0C99CA2C +AC35CEE42814C9CB5EE2434F6D77319964639CAB6F918B521D4937B828C2FBC5 +D75A7FC59B06C2972A7A2C21BD5F26752BA385333CEAE62B18F8B7C2226896C5 +6FD93713226D0A59D3F62D908AD571BB330A7A81EA1D38E208A7DA5DBC09AD0D +8549341C97D75B3BFE1026819B52AAAD08987E79FF608A2575B8B4447857A30E +F5E29C75198B3502927A6357657E1EFA718B04F89D0C92DE6592FEC3A7904B25 +E8F13FFB675BDD72726715B7672296E2823BC2C72D57F5D625228E8899862082 +5E5DEB864CA08B2D4F08E7A6707AB7328908FFF44A8B6B3FD5F4AE9C33C6CE5B +1CA3D4F3A0DD6BC7FDA232425F6BC550EBC6F4D7157AC2B3C51C3B43EDB59353 +C3AD6E4ED6FF8D4B2054A8A2DCF72D6E53197F7BF6793C6C5F94E518AD693D9B +D825BA5E2E148DB8135259BE7A2B30104B9B29ED568DF576EE7F9745A93A475E +BFCEC10B11EE0303EBF47707ECA0EA73E1EA8C244C6F1FB0B2D4971F24421D15 +82EA2143BD718FBC25D1458F1D6454D0B1E18027FC4E025334A0B67127E4A11B +C3DE5341C6E2DC7689796749F1D31ED0007E952D15DC23F217A218623BF9A149 +3D6BBC92804715D15EAB09AA2066A46A548EC53C567618F86E1B2D41867F2125 +00FCF22375719E96286C44547C33373105AE0E871939D02873061B41E8800AB0 +0ACB4C4E8426E4A1D3745B85CF550FE0561561626D33617426738916FCE32FD0 +C0D0726F542EE02E1853473BBB13471F941EC4348F8A47251F5B90A8BD181B01 +D12E148B3C4F22C866D8A0180E5676683D488BD2B13810A80AC610FA22DA7709 +42EB0D3F839A019200746DA3FCE6BD16E0B71E4D72FC1ED751488FBCBC196D14 +CE1D4DBF68F87FF65D712369BE1FB27F04E1BF56BD94EE5A645BBA7813F98DBD +D94794794A08724F976D788157F92E6A39E5CDDB2C2BD14323C7511828EEDE84 +4A1F915890069ECFF80A655017ACF73F4900B22B2EA07EDD6AA349720177E3F5 +B4555EBD9C95B09208872E72AFBD70D9D22EB3E9292F3A8000D5EBC6BDC8417D +C9736A3A5009F8ADED7347DC1B49DA9005744BBF9CD44C4946901986D81A6703 +A43E43A8491373352251F2CC97EE45B95F25469CFC69F443133F64D3FE06D833 +6A7F8C73AC819FCD5879179D17CB5100F73620FC5E9646094C740B89626C2CA6 +A8D35E94283B20AF70088E031574FBC64F7EBB0D1CF4D0983BA3E2095F15EF46 +277703A7262419F77B452D11BCF43C8A30F8927D223D5752A6F6A7A22B1E79D2 +E6258C0A799F5D5F71E41E7FF4731BB6385AF7AC4A31660EE294C4EFFEF96961 +62D5E63BED7A26EBCC92748B548A1D0CE72227D78A20B22F15AF23BB70DB99A5 +79EC88E8BA13A7B8DBB6040E07D6CF5DFE97F0350980004263CC8877906845D2 +43DC0167B40150C337CD600BCEEA49E2AE83C19E45C3C94DF43F771986154128 +FF270D5C81BDA1A9E1302F69FD2FA841F2A90B208F4F0C823FEA1A509E8C911E +20C54625CC9E12C44829209E67A14CF35A06A1EEE241876108A66876E209818D +0CE088754032317DBACBF1F0E7E89F92C55E0DDB42EC76756BAF902B8D65A3C1 +83E6C3DFE282FDC5512B75228E70132B4B5FF051501F581F21AE095296988C32 +170ADEE55684051D476A5230FAFDEFA9CDDF1BA46083F1DAC8EA472D0BE425CB +951677D71E6B6C1C3405C4E97763B354C220227D765CDEDD65CD119F97268907 +AC9E31BEF927E571D90AF7E77D6924521843A12A491E774EB8849FA1775336E9 +A76DF04E27D2A8C4365BD1E7D40BFED18F51EC704293A2D38CC6490326117E11 +1B592701C02026181F8FB67C9AEF7F5F87F0ECA8AEC7F5FFFF60D2D3A2CF45C1 +8D1DE6E4357CD98F9CF0363000573026FD572C2591DADEBAC1ADA3DC26D77EA9 +BD91B1E6E6B7159D03943C0FEC7288B07A530E4E2AA8EB94830D582DAA0E393C +9CBBCC3304D5EBD32BFC296E9E2EC7D26069399999CF1CAF479526CEE1A51AF1 +286DB7DCE087C6E8F683B4D637C70514A3FE524F1D370B28DB6C7E6757E74C40 +3966D0FC1770164273B023CE921B27A0F732EEF21AF015CD502F8FAEB4AFA2DE +7A4F86CB3511004549A91A4D01D469B990F68784D5D76AECE35F32AE20D6FBE5 +5A867B35C3486D00A5941DAEC733E34F7EC597F9E51B8ADF515DCF95E1C1BCC3 +2B6E3D6C1D8D72028B38DD56DD19DB4920F0B8EDA4236F2140E3C7246BEFCA59 +058620D20DC9E964094F9572C6947FFE7F8A67E78A412846AAF99F6432BF22BD +8E38168FD327996198CA0BD62025B18894A854816928A70877FACFCBE01B479D +35FC6543A55AAE8B8E5DDE11742F3526336D19861EFDF62604F4459A725888D5 +40FF922F2E230880F9B4732D92BF326C93EF78A741F33C05B536E8A261D42541 +141BED166EA9972F0DA7E17EAD1438FBF0BD10A5EAE4F3AA6154776C04921FFE +C808630E4959DFCBF48583D0F506A80F6CE267095F20E0157EDE32F7306FC510 +9E9B82D49241BA31AA6FD2A3147460D6652EE135F41F3D4DF71C8733A6BDED1F +A6599D85EB7D3520187287FCFB9DE9652139BCFF47D5FF7EA0C9299D8264EF75 +B074C0D09FF870058252DCB98F0B82A22191BBF5E844D33992B77FD5465C5F86 +2365912A6F1A096B83DEE05DA44B14F667B66958B8607BCB4A3CD42FDFA83E04 +0D218B2ABF7415F0C8C7C42C5BE575F35FA041022BC39F96901E870F2A99727F +422B9DE8019687B6DA4FE510CBA51D8EFF47001442E1881576241C445EB8A775 +28DB431CC384CC3056213447475CB38C7A634F0F59DA5E42054ED0BFAF257293 +D1C97721CCD5B23C889833A9F19277013D89DC6BB13F37C3902F0EA39A778405 +729FA64B31BA789C5F12B6186491AC8F8E86E7ED3B5537732964C054592F4504 +28E8EF8D5806C643A8DD9562843B44CF9E118F8AE0E11915A9AC3A3E28660653 +E130D1B67B2952D41647F8AAB650AA5D6961A855BA0A223B94F37DB212B481BC +86FEADCEAF1B833AFDB4BBAFBB02C101F62C24FA2BDD8BB304DD76E088EB464D +DE4EAF62DA53E442A214481C40C737920F27AD208D73660A5E192DC2FD59AFE2 +BA5E3C41EC046CC3AF9BE96507102DE80EA9FE08D50A1618AF6D25ABA53D20CA +08E41336016AAFA30970124211829E7332C090BF144C4DF8A023A37D8C7CED05 +7A56657DE220EC3C7A4495E79EA70AB1288DEBCE8AAE26FC92FDB92492DC9FF9 +3B5B17B5785482A577FF8B9D7CA04798EB5270B89D4C10114DEA1E2280D53137 +2163C947A4585876A5FE591ECF97AAE832AE56F29DD74CADC12D2B0A1236A9A2 +3271148BE4C58BE707FD277A265473BFAF99632083D34FBF011B53CB86D76754 +EFCCB35F92C8E0FE3E1345C0B29C55D4AFEE09D23E4FA1D036E199AE43740CE4 +C68F4E30ED050A4DF59C547C662B898F653305C0A3A0EB26BEC9D164FABD6E0D +CEEDC405D5F4209598D1BF46C9D0986C34C08358A2C0AE6B18BC3B645F2882D0 +AA9A795BED8C35342DF7E95C56007922C46FE8971B81C555C9877459E17F88BD +1AC0D43F1AA6550592055A9B44EF7FDC49297465AF931B313168B5E91FEA3E81 +108B19009B3A8AC756F0843AA6CEB0C54FD6770499060FC8F91369FF3E6B4DC5 +A089CB7A1CD5A3E4CD9AF2A396F2F3C6AA6CC767360DB84D20BF831737E6C856 +B07350100C49C8F660952474944B025266C0705E278A51FB608112267C75E02B +E4192A75D90F43FF3340E34526A6639C45A949627DC528813437A0B89250FD36 +D0605470D52C1CF767595670D82F5E017BCA5A3E256F7339C0CFD82F9975D946 +F5C0721154CC2FC7E68C5434949A65C90F6C30E58DE3AE6D6062FF81CB388A15 +FAD5C938189870AB14F58909271C4BA31B68DC43875B3416729E4144860F483D +2CCA10261512EF7EFEE399F8DFB0D5F1B6381728B0445301771208D54EEF81B8 +C90E71F6DA858BB65821D74880A8B9D20BC2925DEC67311DBA920DCDA36F0BC8 +06F4206253C2DA56406FB0D0E5F67CAAA56F5F5AF989A1D8B01FAECB1596066A +358E0E25A0732B430D997E287E5C3D2929125EFB9B17F2D3ABC27D05B79BE843 +4DBE405F44ABB8C1529CD42158ED6F9E16660C8C03A111BD9BD87A1BE4D3CA0B +358B5E56BE56A6A7AF5936425746D90F6B7C040356E13E3986298B5F78F50FB7 +AA073453B24D191F700286BB68AAAE6D77E1529AAAA00D86FE40526E96273134 +E283864A2170296053C539A9D5870507804E1E2865C1F737A7BE978579C9829E +4B339205283CE90F6427F402AD9A67EADE1C6C34415FC36307D8A1A2A86A51D3 +98662F45140B3DB6E751F508634C04D9C36103A31288689D9A1CCE52D495FDA5 +57D1F221A883E6A86931370FF1C57833575EAA34BC2EB5039799BAB1D6B99860 +716466C2D0C37F3373021F966AF6EAA5DB28498FD290D0114241D47C520180CB +454D1F3BEC6F63AD2BCDA34F7503A6265C8AC3115688FB738B09E180F55C8935 +5A821A9FA5A598353C7EEF9A2C5428275184B22D22E0F60C0A0C1D1C43AE5F03 +01A06C16AB8144034EC715D55C8882930890FF5C1FB93E4AAA49D99D2C147C27 +EB3220A36FA8F9A611CE125A9831E1BD8A1409BC845D9FF89CE952EAC659EF8E +B2509CFA7CD4D5E918E1538E5F46D118F048C61334358D515339099932CE5476 +4556B808C39169EA6C55C5EDE0699EB9218B431353C15FAA6F7B4261C1333D9C +213A5625F088728150E0A2C212DAD07FDA7694AED68F9FA3ED9BEF89C393A15C +A7FBD8764F3B8165F1D5BEE6EA025DB8DE272269316208385F8BD4BFDA5D2D44 +27BF42005B10DFF2CA1C1701AECC58B5FD92E0D3EE02A8EA64170AC5F9A9A995 +5142860A85181C11CB1CB494AE4C7D41C3B93D94A7D5C8038529CB996463A2DD +0036C9CA06029A725F7F84530D75D9E1072D4D4BCCBDC25A56E4B7681BC2BE97 +B7151637D8B786A2B7FDF83ABAAF6D7A9042CE0AE98F7C3781CC2F8901E947B9 +6B4D31E8D6D5E8F7F66D11B3BC666376C284EC24C9D1D083F76C56D0221FFF60 +AA585F1C4FDE0541624C7D92EFFEBA06DAD2BF6148B60BCC727F901724AD97E0 +61B6C512E9D49917F01C5AA51EE291BA98527840293EB33C1C4257740B261FFC +C47F6BE71B96FA40713C2AE046AE59FB6653E874E1787E50F3CF3F625B87308D +D7D777588AFBD43F9038A3EC5210029FB97BA9CB2E5038BA520005A88CD39230 +CC2FA8D7EF81D7B872925482A267B4E0A71AC8A6025EE6E12A9AFDCEBCA19848 +81D91D8393DED88F3D182E922AE2A122A36D71C766EAC46F4B4C4022093CE906 +E54F4678628C782D4DACD64B60E411CF9FF433F53312C44D5E96101DFCFF50A7 +5DDCCA88D2BC7B7B97874A2179E9EB0381D66D058BE17FECD3BC681BA215ABA1 +5D2F7777624B250F7A9E77E98C2F07DFE6869C459C2392CC420B43C6861BD4EF +1EC66FF22F8337966F12D57691B4B85CE075FA01DB14F5613DDA0C47222A397B +BCA1AEC22D912D45893081D52B8E639E82956EEAF9797953DEDB23C805F59669 +20B9EB86E852C109F5D74891C295A4FE101038EC8D7CED573FD57E8EBEF4ED07 +0BD79563058F8653B31CC2BB74C92AC1A71F9537A854D3848E5B49B1C0AAE1F2 +A93C4ABBC0B93523D9F15DF7FD8C17AE5C2620A5BBB996C90D0A556D73ECBF08 +1EB27E2E40002C3205A1255A8E343EB23944236E551BED8AEFAAB5AE6016D941 +47F28C20CEB75AD6AF5FE7C52CD35133B97F3DBE73F5B14393C47A79E7B97B72 +638761994F100F98117860AD354A8BF649FB4ED2F640D9972ED5F152BD242CC5 +B02E3F967012DF37335ED9CD7011A15DC9333C10CE70D23A90373D4EA3F4ACE5 +EEFD0D203E01E164FE2634052ED21D0F948033FCA14776DCC03B779611E4B6E9 +1882518BC17AA8EF1CBAE9775E4F3DE0D556CD5D4A726F74D2930C1F354F5726 +4C15C7AD6CD21FB9C73B029888C8905DF2A02603E0306AB7AD095FE32595B2F9 +E65F068F498CDE2290ACDEE596993FF175FB8620931A3C680419B9CB7F8FD2D8 +33755466D111342F692C47424F6E1F4059C474F7CA53DE4C8F6EE60210F1ADE9 +83F653DD92E2C15A595D19EE15F60AC88518D2E33F83E83C303CA49A5C39F295 +D7D147B0AC82510AC0DFFDD6F8390A175066AF343CFFE077DBB0DD27F9B41AEC +19DD3115141F83FFE2575FC2676122F9ADC83E22555C164BB3A8122FCA8876DB +CC17324EE79571B219B385E5454C121D84A767D398EA0C5F34CF5783AF410B76 +991CF963530BED15BD9149141587FEAF5770DCC8A32C9FC7518B524263D56FE2 +9FC4876E46194F9BCB692B3A7FFFEB22CFBEC8405A8286DEA6533EFA1DBEB4DE +ADD8F906C7334F8CDD21060D35F24B66D53E3C4D2C37E9A6127C76F77F2A35EA +7D7BBB05C8BA583DD9A269D4B38CEDA90AFAE002A19B4EE957E47D5B75C2B3C5 +1C3B43EBDB21D843F29DE2CA844E6E1C6218C453A82F70A6C8848C67F2E63A79 +A37EC8F5AC92611404E5268DC2F1A70C0ED29B4BD7FF380B7544C88247386091 +B97D303A0733B90BD95C13228B9AF937E995DE25B164F92ECAD1B62B9C8623A4 +340C904D5178CC9EBDB7971E6839758EAB6FAB286A3524FCFB9E4735FBA867ED +FFE39A045F3841E352111EB5CF018CE47819A335D93508D544A070C12B251168 +6ABBE6D30D803DF8C414D751106EF919AA9CA0F59D9208A5085721D1A09931E9 +ED5A6CC3EAB277162366D2EDD758AB2F3175CFAE2312D2AE49E1E87614A9035E +7D8ADE1137E73AC45E6F9506369E8E8645AB4DBBE8388DBD8AF05BF0B8E4DFB2 +332F353941875FF0566E52F8B65FBCAAFC7EA12342B90C8D927DF8FEE42F4556 +0883B5A3B4D6FE2BF837D27982CC1133B810916A7AE03EFD3F47D393CDB4386D +F2FFB814E1A0E71BBCC475BA8BC06953FA5C8AF351C911935428ED22ABEF3822 +BBC0466F8151BFB286EF8275EFE5022D585805DD9838C5C286885BD5B17E6FE6 +9970133A14BC5CAC9AB898C57569EB8C39D367CFD48C7BD62F4D3D8EE1D306C0 +9D5BD8A615C1AAA83E8FEA614CA16688B07D6BE1DF5DC925E6C50D9EC45195EA +4A41EB8E78E6F68AED4CC8E4733788DA2636CA7EA16B5EDE02A53172B7D2FF25 +2DEDBBC24F63F407ED3A2BE7DB640FE0D2B5580AB196B1076F266483B8C867AF +2D6FAFB2A57DCEA9747723965BBFF9ADFBA707E5220277AE0937E0D3C3425402 +77D26CC49FB0E6B6301422543F0E771136153514EAA879E7F0B684E456BC80BC +0DFE56DEF44A300335D0703BBC2FCE8D020E555E6236DFD5243F9546BAF6E281 +BB02AA4A7562A64F902547069E8F4431148F69B40EA3E5BFEFB5881319F7AAC5 +EC4E0D04E7F5BEA1C0AC4932A5F654E1F944636D1F0A3B15C5702DCB79A765DC +EF6A50455566931C6FE5513D47CA245099A74DF9D29AE42FB802BF39752F7BE6 +BD64BE142E903C737091B799071AD3407D5AD671CC46D0B3D4FF116C73301F59 +B5AE136C368A2C7E38243846F12B91D1B0C15C1B10A90143231CDF75D63B04C6 +160F0CEA97D14C2E4D2CEC832D600437B3DB129E8196DC52965FF723B9E56881 +ECE08B6A933F02A7B755312E119B22530A22EB11E55111543027CF23A6620EE0 +45C29D0A1CEFBD8FF7C5D624B0655B73A98A39CCD624DCB0649B7328EFBB2606 +21A92EA19C1344CAF6F5A5D91D45AA9832FCCC5A41CF3B12DD35015FE337027A +AABFE5E503DBB9D4ECF793FC16B81EE8A12CF6EE2136877E9C2D4FD9B87AAEFC +97ED41FB430770C73FE1E61A47C73C9A99117DFF5DCE9A459F0286042ED80AE4 +C211364DBB9683475F6ED9F7793858CB5FF0A1F564E7AFE6C32351C12221FF5A +C4DDF536F4EDD1F3DAEA3D24AF7FF4ED05D3731759FFFC0F7E0A0FDC3161EB03 +0829C04E5B450B055CD784DAC694A4AA4C0D49C29C1346628CA40CE09357C127 +3147D5EFD093623F22F1DBECC416C1BD43DEA0D128AFD923A3939203D77C5ECB +49FEFB8D74EECE5FEE601D0E666EC8E4063A7BC2BD910C0C87314FC298428208 +16F61BF02FCC8193C050AEC765768A7640EBB3B873BFC4BDF0905CC7CAC4CA9C +CBF035E2A2B469CE530BA8EB46B1005255BEAB3A63FDE2070F840A7802A9FFD9 +5FB0035BA885A201C9A3343499A503624BB1D0F0AFA77133E13CFA4C0830CC48 +D8BD18A5525590F4C56A9F29B6EA82DA0786DE33D1919DD855EC6B588C2339CD +BC635FC1AB2ABB867B15E64840DCE1AA53373BE1722DF73AFF158125FCD6F66C +8FF756B566126D8320252E2244A82710082B7142B9BEADA2ABB8EF5DD7EF7998 +9BA81DB5C9CCF2FE8C3271385D29E5D4EF28FEC6854626A9D0A128C16E16F63E +E6D4E78C5745321549A0011C4B48A4DF9B463C5BCF1E1230D8D9B7E9905911A9 +0EE492CCAAD3CECB9C051BEA22C3839E3319274936057F666376A65F78060089 +BB721072E7F5DF2BC13134B6A3F95EFA914E404098FF8D2C69AAFBAE692AB402 +2C270E9F70B8265D39966B8F336C39C7A901E9E48058318C260AD2ECDF4316CE +6CA9191C42CD6A16AAC55CAF82592CCF64C1D5B6CF58810503B24F203AEF0F1D +48B91FA07509D782C441167205F96FACF1588CD956DC1320874DB1CB40FD961A +676654E3DAECA127F9C5A80092AF6827E0E2F2B31CB11ADDB5E5724856DBA60A +8ED4312EFC1591FB582AD4DC0390A5F8963C5B2B852082AE76BA29ACAFC624A0 +B268166077DBBF55392400E9C8160E25125CE6C4ADA29B83551623376FCD59A9 +89F1C64A1FA901CFAA20D063E103899CE96808BFEF9C3CF36BFEC63ACBEC2675 +93F27BF76686F9DA3E341D168D65A53F7D1220A13FF179912864E0C7F860F1A1 +AB3B1A045EAF52E4752FA0A6F1BAA8A2495983ED9D1EEDE32B19BECC7CCBD142 +2A19EC2A6E2CBAF5D0E525D6494D63A9C004B1D4A33C27848275C678F413674F +E0D464565FC16624590E085E26243740701F3D87D6D4F3765216FDD6783D571B +248D7F541869B4CC1785C29687880CA396B0C5B06EC910AF0568D802D0C81292 +9AFC214CF0BFE9A999965402E7BD676B552880C68197BB2E2FF5932155A907E0 +716E1B84C49B17C05C9A309BB6DDEE004808301EFBA46CCC5A571B50D254C940 +4DD4C43F17534450FCFDBB093EA68D2FC282B48F5C20B7F9EB2E099A3B4ACACB +181C5F37C9C6276E3049FD7E2F8C67A07E507A25CF1BA751294D9F5EFF4CFDB5 +0B837215EC6CA4347342488502D6F1B8BE446A3AE862A03E0A36402A4EB45264 +4567E3EEC5DB5F69EAD5B7522411DE7AC8AA9522B079A962286315C150EE549C +D5C1EEB3FC63B66929EEB6FDEF526BE7AAF06B4DF9F188705E0B2C851FD5AD29 +BA9F00BDCF9EF177DD7407BA10E5AB0C3A4F9F8DA48048A61C7CF873767870F6 +F66E669F6D2C36BC776D4B8EEF8581A9EE4E1DD3FB181D957111D0B74EB1362A +C5398FC8DCCCC14A6C2D755864DC8B2DB199B7FFA06EE2FC613E1A7D2B5D74EE +0EFF99E30FB56296D126A7D108387967167AFB5D2F5E0C0AFE7E26F464AACEC9 +7E6ECC700D6FE76A6D5D265E0A0BED62A1A0ABBFD7A3BA87CFC4F9162ED52266 +4DA164033110DDAD5A30B28DCF16E23C4C055B24FA9EAA2AEF953720C6039D1B +85402575844BE848F03CBF445CBF9593F1C2FFEB8BFD1F8CB78163EDD46BF1CC +704F60C6538BBDC15C2997BDC1939A52E63091F6F50F332538D19A917CEB60C2 +A8B575246A1F9A00418F7E4B9EA6F10DE15B91C2EF861CD35CAD1EF020E5497B +F806253012D440B3D3D0E2FF114C5BE5E011D8B603E7D02800AD5C0D3D505155 +6F5F1292B1C92CE55DF5F6BC891772AE09CBFACB0F06551B3BE274ADCC737DE9 +01B9C192D9FB3BC3FC0127D0CA32A8EF4C99E0BEA94D9B9A9721F6AADDBBA2E1 +18E5282105B05AC38E82CC63560AEAAD3A6023A03078CA6F4D7BA8E59D92AF84 +777002D0007ED4CBE93F81EADF695DDF9C9763E4B98700B54A969D7226602024 +883B5909F6A0056034B86E55C59347465898AED8A4C2A5D6A13B93FEF4FB66EC +201C79B5070116EA08E0B4246195E0E070442AC2C1F955A591E19474D21DEF78 +FF1DD6F8E90B1414C8A195BB6843098C33187A1FB662D6CA57A04CE2B97B495B +4EF86DFEFC97BEC5D2CE01E20590AB41FD07ED81799A722462439A3985EC7B0B +5E07C7687E2F76C93766EAD9B9F6274A23A4A655390CFE3870152FDCE07E39BF +4748C4AC86F8519F86E3450593BAECCD4EC66F3D083CDE2CEE85A18E41EA57ED +5511DC93E98B633F38F180F1A5E48F4DE97B62D0D91AFC5A14087F52FC166ACA +220F8E85398E3EE5B0971C052BC9C0A2D9092A09712403B8F4DBD3E999E3C036 +13302D5CBB0FCF3790196D5E38C87315AE202183C49A21741D1E2EA3CDECE786 +2AAA84AFA22F071FC98484B06E390DD0F5750A03091A3E9EE7556481EEFD734F +74D2ADD097F8D95F46C5C386EA0F842E393A5FA11BE51601ACB4832BB89EC037 +683F13C68618CB6F5E9363C317786FAF58B0F46F5F364E155D41A4561C193BF1 +F808A6C7152FE62A702FC13202F73F747C75C890DEC65A2459A698796E3A9CD5 +6AED0A64756FB43FB5321E3693DB6CCBD6720CC9815FBD9BD742BEE29E72F820 +E2ED969D138CB051EC3FCA2B82E22DD21B648BDC83FC2301C25D6AA7DBEDF65F +9E2699546274DFDB81451874B04ED3BADEFA126373955D64DF0B15F10C67EFF7 +30643BA1C7AA8089739BA8C779FC707BE1F681ABEC3C34F2A6284C264903255D +0A63D5EB37B977E9B00F3003CCB358AD48507587CE02341A0A226E30B35E3DE7 +3A3B0B396F3F1C2EBF42CBC55A195B47452791ACA9B9802FE687F3B994348A04 +90FC420D56AE7616C0EF0542F340380D492BB4B900C40F91AB57913A58CBDCB8 +480B6B525B4EC2D232DD997EEBB3600B73A39A2DD2A713DE7E69683B1766E7B6 +AD65B4EFD88C0D159A80B9BCFC033E4466CFC36CFB9F34014B0CF902F5F9A7D1 +566547928426ADBC9097A5F7842DBB10059678532856521034ADE873B55C3E06 +EC8C1D78334313CE2DFB1DE71FEEAA17710B4A9B3773D3225379756B979149FD +135D37B1022358386FBFCDEBD2B26D91C9EF0CCCA1B27ADA83C5F0CC48C04BBF +73BCC497ED5DB855296314CF8AA79DCD8AF08F1493F65426D72AA86D7DAF2F47 +551B35A525DDB19AABEED9C99CC89C2F0C6EAE7C60DFCE56C4F69C4CB5FCE33D +828E3B9F3CDC1ABA6CC6476C1156CFEFEBFB89815B800C0B06BF64825BE72678 +8C0AF76ED6F8E76D26A98CF7AE75AB109ACDE596FCF8F4A502911CD757354DD9 +57BB7795063FBC1C1AF4E1B567061B8A975316C0159038E34BCACA5BFF8EEB06 +5134B38146B3C5E01DA5E097B8F5DC9FCF7014B4A811AEF0EAE2E2977F6F50CE +E28156444214ED37532E40C23CD2F4A55AC0AD2943703B152CD3B22ADAA5FCA4 +D02AF7D8E2DBCE39A91C0FD0D0F540CF97A76F3FEF75E36DD33033C1A2331475 +3F2A8C610F2CD04070339637915738523110D80F6FA7AB8722DD6A06C975E6D8 +D5AA5DAF47C1B37D7B0B38A5734F4BBF05A68C5999A6E614786581B6AD202BEA +69AEC361C1BF58A5900C1E3D00C4BFC5596CA9A8522FEA0DDEC0B7EFC34F8DCF +3EDB2E29624A7FA8FA1A3474C7D919E1558AE84F3BBAB40AC30E5D405E523E70 +7FF71732C91D3C25126205F7E3A0E56BD61CEBC6F1CEBD520B1B93E0BFA17517 +7016303B83D18ECA1EFEAB621A38848F5408A41A0DC52319DEFF5931A506AF2D +23A017AC71738EA9CFD6439419CB2F094548586C22591429C24F179417386D6B +7422E76397F9BCADEAA0323ECBA854C07A158077EDD502B03C1CC1D29D1EE80D +91D58ED070BDA692ADAA98C08661F1F848836F856C78F9A7497E063FD7904D71 +64AE15B1BC14EED1A7E6717246CF2FD7235D2770753516FD9AD1DFFD399319BC +393209D3253310F10EDCA47E7BB81231EBECE4B3B64245F7894C4888CCFF45E1 +53F6DF629C8A33D73EF26EB4A7B2C94560F8B9F3EDF5B6E8FC3032C557539FC9 +14B2CD642B4459D613C65D97567F33C5BC96052BF155A25D0065E9BD1C3A6492 +8F0194EF29C0182D2A2E2A2591D792BE071B4B37587CE75F747ED760690D1CEF +12C1443F997CB68FB4921F929E88F19CAF7991870C124AFF94A5D2C768433D92 +7E053F8F96D142AAC303D1D114B6C52E2C6ACB257E47DF6863827915A854BCF5 +98FAF350F71D9BDF2F70CFF4378BFF0B13113C591626F01F8486B7FE64B88E7B +B7A345CBFD09CC9E048245D10714516508CC6AAF66A613E8563D2D8D5430FB69 +FE9F89E000847CD5CCCC73013953C50AA5FAF4068CFE756EB490ABBCAD7B5B22 +681476D1026CEEB22C9702209D92D7359E96239195769E009793E7B78E47E07A +9C378E37183C6C2BD11866717CFC0778E4ECF8E6E7C0E0950340E052AE8F4116 +22561FCB48DFE8D56AFE3A922DBBF60E5CBA7005D748AE1BA7863BA1AB290236 +25DEC1881C106CF4B457E9F69BBC0C6A2092FDD566B742C167987998A9041F86 +BB6D8A9ADC7947D4BA39C1600358609C90D1AE51A5E3BE9AB15A208A9817EDF8 +90175FC2C67139BBF9AF22010160FBD7CB032A1E078C53A64F948BCD855F6BCB +55B0DD46C6FE7A2F09CB814CEA71705F600F2B306EA9A0C06AF8E67413DFB694 +4749731403B81292D9FDB2F7F5C749C1623F854B2FBFB5A15ED4D3620592E9E2 +FA8FD26DF4D792893441CE3EA2987966AEB4AD527F395DC5128E494A5E0CD1D4 +9F9F01BE1BB170A75CD9D4557D055C485BE54C3447CCCFC90C5745150EEBD88C +8F3BE4E795AC9F4EE141C31CEC15D2A91735AFA894D0706178102537C2485D76 +E3B1D929E45C742411D004E77D2D8D2BA2632EEAF4C356633DA4CA20ADDBE1B1 +5B64EBA05CD5F8566CB10268C4F534B775415F8FE9A2FBFAF6AB880B0892C3DC +849522CBA30C08FBB753917347CE8BAE7B99EDBD3FF2895F0954DF907E64B531 +7B85E1DB2F4040E9088BAF2B2FB51CD757564165E8C660EDE3C88279EE790172 +68B73DE643527E75333759B02D7BF8621881B3CAFA2CDA69BF9F3102C983A252 +B16A35294703F2DF89A757B72F86E107CB90BDAC614F0A0C7612174445D87B72 +6F396D7BC86514691C3F8B04F9F2A61B44DE1E80CDB15E7F49BCA245501E3953 +205AAF574A8FAF5AE129614646706C9A11FD4531D45111A87138240CE39C7F6F +48FFA2EC3EF86B3D7152DA2C6093FF9000EA9CC9E571E13F65E1E39C7AC62B40 +25631747274A7CE9A68B9A47CED36586DB1D08A931161F011B5544781D32D90B +685F0313DCE4AAAECD2573587A412F0E7326DE5B5F83858809F956AC82477CCA +4FA06852CC31ABACDDFCDAD1D9B85647A713FF5ED8642B725664A2C369C33EA8 +B6F212D0FAA14BB54D881376CA91439197AC47153BBEC903A4D5D0F5D6F871E9 +B020FDCEBFCC521CC8E2187BE479CE9914F9D7D4519E9474D14EEE6699B03114 +06EED1B8403F02E7963A072366FA61CC46452D1619655A89710182107DE93375 +30C3EB937E9F0AE11EBA12F04386FCF004E72BA6A2B85B30B7AF3D015559ACE8 +130C3B90FDD4294EF0D78250B9738A7C99B117309754B5646BFE82E5B811DBF0 +101AE44042BBF22A0821235022416C6EF8E21BC9A2563E554F63CD3B4130D380 +298A29C3AFA8AE9CE1C78C77D6D493FAB5CAFD2D9547A72D13DCFE650373C46F +A28017FF48FEF310AA54120C199C6616B1DE3D45DC374F2C7B8FCFD11AFC7242 +CA94DEAC7454310AC71DD00933F5520F7B7776224AED667957C4131DACEBE83A +97D3C036775FEAB8E4C15686627D9CEAA50B891BE937F995D1BB72D2D4479C5E +BB29C15909565C86D6EB623FD067627674B9D636AF0E6AA2E3AF08185C91A87C +1DAAE7B207B75FC41232A1170A765AE4CE21208B49287C7753D652DDCA751C6E +68453CC16AA4AE7CC3808A6DCBAE191793B0047787419565757447E98B6461B4 +E6C2C0016BAA0BC279C6ABD2EBB32702E669A5F4E2B5F7B4EE5F53D83524E1DB +75F4532484BB396364F2F4514F91102A493315D70E2ADD132FB31906E8A23BD8 +E3121DC3AF7A196D2054698AAE898F65B6D0D84F65EA918CE1C6FC4B1E6CC23A +CC2FAE0FD96D36EDC5C50A0D6D7C4A1E36EB1399DB0E29D2D4964C058CAADCB7 +C19C5D25981FFE4BC66EFB316487608625D0DC726022772A661C0E69A5B6741A +CB3D37ED0852C328148527CEA461A92FB4698097E72244964AA9C69DDA2BF798 +3D125CB8B896EAC1AB0F16BA3A50DD34BB8B3529E9A7F37793A50E012E35BFE4 +7E8A70B289655BA976BBC5EEC0165653D00116A4FCACB1F49C427B0B6C7BFDFF +FF4AAEA93AB473305577D134C3240D970E17D42F407420461FE5125C3A03FD8E +04351E0314203320E51EAC86A74A3CC821DF3C70E3A6C678FC04133C5FCA2145 +A5153EE6548A340FB382A6ECEA394498EA1A041987F27817B36022F600E9CA57 +E338C98521C2DD649D05A1130B609FBC342EEFEC00D990DA97E8348E84623859 +0D01DFD10457A38102BA8F93C97640A4A143EA1ABF7A141EAA0D7535632158C2 +5F0D0FBAB8683C09EAFC8AE79DB8AF83FB7766EE83BDCD08917600D41B4BFB1B +B7A993B6809FBD7273A89D47086504E318FC677C635166D9F5DAEDA7207428BF +26781C40FA494292225F8FFAD4B29DEDFF234D66B5F1A945C31A8559AEE0F072 +6580BD40D977FFEC00A8EA73886A58D7EBDBCD099D5304735B08F7ECBED90270 +924DFCFCE0AA43130ED047F1161C564E16D6BEDD6B85B131BBA6C0BD2D2AB7A6 +2F0A31DE15C08015B82763A6E83E2682251C713F2CEC26DB1217A0606A4EFCFA +5C3DFF669F1E2412F14A23A8E132D7E183F0FEB3E872F784903A41176E4228E5 +B4747A475C7A05BCB99DF8DD0974BE2BD374FAC3C8FF1DBCA5D6F5EAF1943510 +6231E304573E7CAFDDFE2F2A5DFB5F7C441AE694F13C3F90F54A187E07000686 +E8554666AA962B433DC096AD033E73BCDC78788E352835A88CD054DC6E1F6E89 +95D1430EF5D91A510BD891FDCE152BE0DC3E331688CBBEA9459BEA0D12AC8AFE +3554737BBD944E0FE6973109B2777EA764F30B21625D4ACF425D3E463A46C670 +77534C69D0C456044E1AF87B7819DF303D13A8B88260C7D72BCBB4273D123A1A +209EB37512843398BDD13B04E649ADD0E0714DD33429D228984140630C8D982E +42D4E0EFAF96751775F9936C66836AE953DD2266A3477030B65707CE8429C662 +D6E4A9865B4B8C3716C4F6DC9B00D92F230CD90AF3586B47AFCAA4DCD3F5E76F +22F99D84EFA2F474D4C0AF342EE09992950988E269D3615915A3ACC187E568EA +EDEED2521392544E774D3C91AC688CBF7CAB911C6375F94166B8A8F432778604 +63944E7C3BCFE056A8631B89D2F21EEC2884A1D9974AD6C511331FD45FE7F51D +270C0362D808795F2F6C9B2661E1407DDFB94AA0568F0A53459C7CD395D0E240 +93744CFA9F4DB3800483459E08AA1AB49C569196B58F3C6B0089555C497ED7F6 +9CAABDC938BBF909E8AC4900C1F700D4C0ADCC1437143D8CD4486850C4A98F70 +3ED44B1B180DC8BA328618EE7B1BFA006D0C6F1BB121EA39CA4B1C961F3F83BC +174FE36B60A0F4DFD84E26CD9B17DB938D8D35312393CC3336F2393A61E612F4 +BCFA3077FF17C7ED3B01194A6527184FA0C38A8CA0EE84590A2CFA74267997F3 +35BE395D2BEDC4691B1F68BB9808EB0A8FA62E7CACE9289C9345320F475FE4DA +329DAA8D136E076411738169C37E9D6040DA5C1105A93FCDE630F8797A7BAFDD +15182536D44A40A27A1A17E932B247892517DDB143F1A22E05D23B09D6787FC6 +C7B2635083E1D333A3E3D5D1FF875BC7160135A9BC4DDA6D13A27F647C825724 +6CB21F7179E3F643A508822C1528A06BE1CF7A2F25D5E5D18EB6F73555681784 +9E901B128614560B8800FA6FA010DC0EA0CA726DB85854138EC839D520D122EE +5D990B29FEC8ECD9C31D6A740F7491AE02B51B1872A7DB7EDB851BACD2300D0A +01C97B022888A5EE25AF1FD9CDDB20A2E567E38C57B1D5EA2C27E2321264E885 +01DBE50E5A3C4590E992E61EB9008611F110C9396F3BCFCE936AD3E11D4918FC +B8DCA8F34BC936DDDF6EC7B3B449944B29ED6A3C6C3F9292E48F9EC5CF0F70C5 +60D8D671C3DBF64224108F741EDE19A60BE29D64871F726BF7ED1E02089CE2BB +4DC8F4D23E0CF34C3B7F6C90C4043DF2D8B85A13B0CAABBDD01C81EEB01041F4 +4980B5187BC8C1B08DF9C8C7AB70A337AA568B0F6714F74E4DDD88295CB99A8F +9D4CD756F1034D00C46C8DAA25DFDF3018EA67DD0E6E5374EE0D0586ACF095D1 +83B44831C0CFC5E7130F44D938B9EAB2B740216133854C417E05CEA62A49F2C2 +5FCF3455D9AA96945C01D73C814CE1F7CB9A54544F144B4883F4D8CB00AC5450 +6506F0F59DB5D9C144500012D4F41E8D1B8197581FF138CFC8CBA235FBEBE153 +1B6850C7D3C8CA2B79BE7BDE1EA748BE8ADF3FB09D187341199C84FC0CBF9453 +C238BCD1C4F82A8688A575F0B15F3F7D82565BA62A5F8F0F6363392FC3262A37 +8750900A22A9116C01BF4533DA211174072F34C21EEA44BF35B3D3C3BC8D6AE9 +BEA520E5EAC71304ED8CEDEFF92F93E7FC553A9168D41BCD5FD977A6CAEF584A +DCC74C50CB37968AE9C0C5BBAD0BBDFA9DA2B421DC89DC332C4C6C0426DB97E5 +81B170477DC4B6F62C6A4960030882C28F0B3FF50A08CF18E359D6E95BA2BD8A +8552F0338DF12E4DA843E3EAFC4444EC39269D61860704D722E422BA502C1633 +A23D5BAF15CD44CC22F67D2FBD8D855931558641255F1F2CB8DA3ADDD771CF6F +2D6C503C9C3BE2F593E475A16B0DB7570D142DD81549F099773BA5267BBCEB7C +C4CF66E68FE221970E61593EAE06013A9C790E542C820945D764D01C7F4D9EF9 +245A07C9304B784201D7D06566C91363B45CB5D6577F385456697575572276E6 +B310AFF7485325E5056F7123C839AF630CCC9A410FBB33C0636DA87C9A0B95C4 +BF0E8FE113F965BB23EB631F47AFAE6418D00C6F809B49E2DEB14828BFD11B7D +06CFA669102A6EF9D864A6230FD0AFE54A93A25EA70A53CC3CFE060E40A281E9 +07FD9CE479DDF79C5034C592B80010A289834350AF08EA9C1C6464EDB2C07695 +5D1327C7FA939CDCDE954662772C3A6B96FB1ECF5B2D63FE4266A67D4A806FAA +237B3ED16C85321764EB8F35523F79C016C50033784C3AAC9E5908EEDF249078 +8DADEB4EA95E674B598EA6A30DF9AB4740C4FF4439C023452B444585E6CA5707 +44A2CE2B3DEDBA44257870D42C8A02199C02569B71E8984041AEA872770760C6 +AA6297E946516A3FEE3EB0F2BD88226A11FA23A6D5A61F4AAD0F8E5CDD1B7F7D +169A04C8E460E0FEBC845D87AB60F69A85F8664C9E3373F3909A72B3967C6E7D +9E261C02FE726DA6D1D8D34D042B0024C63C532DC756763C4312E9F7759992AB +26861822BBB6BE290F1C377FAB01D8902FFC8F48288BA6DD0AE875ED602CE204 +A6B28360BAF0A5FF2BEA0875C8735270DCB7C22491FA9D1D8977E8973A4DE0D5 +A57A1D80E712B347A3E28FEAFF9C94BEE26A75C900504F958804263CFF2D6BF9 +66C661889332BED6D47D1B846A69E48AF64C32381A282C9E3FC6E116C2FCC8A9 +67D3E29EACE37661BA2BA4894BD25BCF2C5D241D8D949928151B006593CB212E +106E738462CA9F739D7A8EC6FB6F80C4E5CC436F0E6AA2823E3B83C58CB4B785 +AED595A4B0F32FD91835A8F039EC8D7CEDD667E0F5F15E9572BE2CC98D8EF6DE +21861EC36D3B67B5846F77E4C388130AD5A9EAF4B492FC29C669A6A19E3A5444 +64B3E7D88C8B5F776AF63F6F10CD7A4614B2B7EE47157E6AA4B8F9D65B10B4B1 +8813D4F973080740F233737AB7F02D5CA201015CBFBABBD54759726D51E8CCD7 +E3CBF2507AC8453DF0EA66191AF825FA2D3132C8A3B7CDA71BD0366214C0F30C +ABF5C6D70A3DDF63A6BD2E9DAB500B4F45A405B74DB1C83E20C49A2041258C47 +5AED28A9A49B78C09A26F0FE35C1A335C499DF22D581142015C3B1E27D35AC3D +541EE3895566BB73D53845FF46B2E15C4A56A136E20B0218A0987E8895551B9F +4EE133028547F1C2EF1BF327269854B54682345726C3BA64F900722E23E1B32E +84C56A843A1A2CB2B8CC1B9644A1DED4A0DD1AABE5B5FBF19A30668B0C37316C +E15373017428A860DE9AB9F07C89FC156FF537B7D768D22C7B1E5744CAECCD85 +FF5AAAF42104A71FBDC2CB06DE8500D4193CD9DA4CE0D54DC0113A64740CADE7 +F504414F21869B11F1E26B035FC36CE0DF91EB27378647EC234F989C87EBF296 +156471CD28F3188FA329E0923DC7AB3BDA4F786509B2B6E7F52F77EB95A3BB58 +CB41A58AAA15161710C72000839CED32FF315E86D952BF10E4EE28B6018A6D98 +EC796CA11E15826E961D0F425B1EBD9A21BD23FCE74E74C2D67717464CE9891C +285543C3D10E627DAE2D768417B081EBCC569B7ABF80FC581E2A2E5A86644711 +B23A61B5AE9C65B846B190A7856AF3D6C8C97A96B6B7B9DEC43E9B6A26AF6240 +579B9C80AEB704CAF7464F451ECCAF59A1863D0A66257649EF103D46F622E382 +A4C705292E23FAA9D3E23B11E90726406DB6215B55B74A71F7F66D54977AEF48 +D39911E099B51ACFCD72A9042ED5A6A5688B3ACE3B6D8775CF238579EEA7DF90 +198CA615034333503D4D5938CD789F063384BCDD5E52AFB69CBB3EDFEF8942AA +6D3AB76D2285A21B183FF2ED76DBD17E63BA58223183D9D672BA4C5A38DEBED1 +F710BD9FA9B75ECEFF35FDAF9A81C84336562ADF81D7A6E2DF956FB531BA83C9 +4C9BE454947D6CB9CBDDABF2119A1EB830533B33EEE3389276096503FEAC58F6 +64E11E68BE3B895B0B2EB353A8218938A9A8CA6D36270ECC0C8290D35B3AC0E5 +3401652E8AEAFD415E72A8B4D8F3C13882F78918AB86F66A305804775D31F053 +E947D0C97CF3C48550B2074BEACA87B9532A83C43B44DA8815BF1E7694AF202C +60E66AD2B22D13A21C05F441E0D5E11024568743F5664FDE68856BA289C9F6CC +EA29D561996F7FD4C8657BFAF84D2B51D9105A6B56DB485B74317C8965859786 +5B9483DD4F13DE44A8A5793123046206DCD6B4B8D7A366F9899CF8882B21EDAA +3041428849998362A954CAE8793A846B24F186D117E36844322EF158EEF4D1EA +7C594BD937757D94D165A51358DAE698DB5B0F3F5267DE03190FDD51C2B684C0 +E38799610E553E5A9B4FA27E3BD3726597634F456D0C61B51DBFADE1B7179DCA +4F8ADD2A8E7F2A0C12F7324EF1CD7DA47F3D5913029662FA9C6077F3C9902897 +D363984CFAF467296F72C3DDB15E6A8CC9B60C3DB7F15062D8F32ED1677C52F4 +7BD71768C5B14E9E8254B77D80203D61C7A46B18279866D219A24F1B23358E6D +11D2B7160BFA3393EB9D1794304A8C7D094D234F1424DE481F1F5DA9C1EC4FE7 +31D4229941A14B401F512EAA7C0C74A42E47741B03D1A78706470834ED36923B +C0A52AE6D31A08CCCE1AC02E994FCBB9218932F6CE8B0BF79EE393BDB4988244 +83C384FB3333E09DF0BBA34656623242AFE31B39F827BE534333A93C1D3CAD95 +CB3D9E1587FB694FCE9472358AB2A99A820DEB422A86A715B15CAFFFA1BAEE74 +475E99BF177ADED5E1A12ED5E3C662E2D3F26EFBE780DD045978D5965E89FFDF +0A5948E692CF7DE29E5B1A1D33A030D55E1D7BD6A0A717EEEE4D3EAD512DBF4A +3A8D6918D3396D326257D17386DB2BA6B55D5E8DE1D070A8D3E844D39E35BBF8 +2EDE74110186F43A09F751C485289D9BA0B7949E287BBE648DF618CE9A028358 +DD8E5F2758AC8358DBBDA07ECDB00B77407F5D09D87AFBCF20F02AC950C52FC7 +8DE7844C4C4AC8CF70EDA68E9BD55C00013DEDCA5C814D36B53FAC4064B8796A +EBFFA24DA2DDDA25D3738192BA50F2F12A68596A9D3AFF33CE3C040DC62FDDB7 +B8CBB3A5E878E6E9A0C52F970946D81E5C873186109D4777ADAC59F855A483B7 +D796DCF4FE6DD4D01CA9A3466BA843D4EC7D665B8719F669429CF0BDB4FAB6C1 +8F34DBEF53429D1A006BE23F1DE1BBAE68E53BBE40B4D979B6C0A09134C57853 +A385B9AB8D220BACCC1D8726417B838510BC1C5BCDBC81E62A18A54417DDBBB1 +80725F5499CA08CB1A01AECDEC7ABB36CC518A35435425CF3B4AA1BE49ADBC1B +17278DC8E698CD55316B57C1FEA461ADFED533808F009FE161813F5783FC76DC +6E3590BCD34C91DCE8B35F73BC42C44E5C477225FE02DBDA4F42F4A482E0E6CF +19EBF5F31E2D425E80C4FDC8FC06B57DD9AA060682A242F159C3B7EBC50A1832 +60DB7B5602085F119E471C805A89772FD6B97E9AF9749E2EF7DDF69D39E71153 +46BC2E75654757D539D23460E4AD8F2039080D61B412B37A6042C090A8939E33 +23A2CC49B48B72E6C59AE422EA56911399115816EF6EA7E4C0F75CAAC5AE9180 +AE852BEC0BA3D2D6CDE9DCB32E67E682AE5C115CAE3FCAB4570B6902B6B25E89 +59F4294FD6F4E8512EBFE752152DF26F9503A0754BC8ED48EE5F9FC492701314 +F9D38D2F5931DCBE8BD011BAC4EB016E116AFF7225BB06F9D7CCC047FE5B8995 +06CE92D0E1777D667C4145B015D726CE8AF0C560124DF89C95F58D6C6BF2D263 +7057FE497302D6DCC60064812AF0250DF9754B16B0840929349814DC489EDD37 +62475072F593EEB69745E85CC13A74F5B9D676440B64B757B2DB67B105054373 +F8F77BA303A993787AE579F7C16120818C4621FB69A359258FE74A93880B3ECC +65C6C091B4E3C4781039C7B4E5C60DF19954B5E16BA170111535184DF978A32F +C259E863DD2531BA6F7583C856842289DB822F21249C54669773215ABEC5ACB4 +B75B09618E9816398DF9F6441B06AA3CAAD7471371710648585E03830E4CFF79 +C2E132E9E3443E3181296AC32463EE77353B63E56202198ACAF00F6C3B18594D +ED45B5177BA8444BA0BA960186411576299AD0390A96038F9272533228E60579 +39DB6A07F76CBBDEB0771B212E6C115220DAD4F40A4D72580E7F4F35D7BACBAE +C85AAE2B5C19337E826B304B0F2275982B9E53E9197C104FDD31AE6CAE916076 +9D883898467FEDDB51926CAE802AAE1B0B854574DD225193C8B8175D5FC3698D +F91518F7E295C63A4E0CAF526BC5133528D08ACEAA51CF2EAA12F19BE72028B7 +BC0B9012A6399ECBE07D6C0A8A63F4FB16171E8144596F7E72E9212979FBFD51 +CB22E314BD0945C253AEB226F48C14B09D1E16994F4F998C6ED0FADEAF6FBCAB +928A9DFD791B0798336B167AE7DFAA142E7F66615DBFA5C60C9D648DF5C7CE0A +5EEEF5328AC3CF5DC8069F3FCF387B0AE5998EC6FDF6473735F09A01C134305D +A849A5CADAE3A5D75268336262DAA145FCDB8367C162F34FB2129D5B891D2834 +19D225B9AFA19B886A24E63347C8C3F6D18555A491CFE87FD375FAE4CCBD05F2 +068306B114F719C5F815325C816E544BB18B23EA3696AC428FA93EC820A0962F +4F87BBB1451B061EFFA4CCD006F824A2EAF335FBDBCE70364CB2B1B6A6536893 +B0898C620114F8EF0F1A08DC61EA905B21FC040BC94A876233382BD4A2240F58 +937DC70061DB2EB774DCBB5D8EB6AB0040C653DAC66BDAF02B475A325B15C68B +D84BAEC97D714EDC21B11DFA7DA5F61E9F8F3BAC60C831392BB2E06ED6D91A39 +E117056185DC97511DF6CB8A98E7082C61B8CAAE36F27C6A610181677A1F9D72 +33EF80D91BD0F2B243BD9B959250758E5EE8410E9BDFCC6A40A5D1BAA134531C +8C38CA61BA2F5BA9288F548690B54D6C3005F3510F008E56A5121EDD51FC3D7E +5851184867F203F69CFFD9F1652553DDE002AEA1B94F9671C2B4EB05105644DA +F94991928BBF13A68801BAE4D3BC27C289662E40799D5398416DC5FC110D5890 +BC3ED389E572F9070767E5DBD1B95EC0019C218CA73CD21BA7EE9460B7DA19FD +AC097C35D3ED5C31A263C03B748CBF5799DE41EF262CAA6D796E3E4BCA7D5BD1 +5C80F9C7BDD9C2D6480A00667B3CF26BC2CBEE260B3D3DC0BE0F9A0401354325 +854CE9D8F5B990D83CE7E7C1920924F6EFFA5361F9AEBE2F666048F67ECE58DE +6271401C9A585CA2EB43A70DD58768B76457A27BBEB4072994860266CF32A8A0 +0C4F99FAE668972FDB8A6CC60DE13DDA3D597255E4EE1E3ED43A91754F6B8513 +11202A7096A93C7846C2BE0BC9ACC628659FAE7B46502144CEC96BB97BF461F6 +A6835D550BD5220C8FF579F52BA42B32C76D624F9F2E7347C48622202B3BCA1D +366509F881A31D9C3FAF365F1C20975D5677A2ED441E169144F8D0B6925962A5 +AD92CE8338B8145122D55B938684A0056E8E9B09E20D8FD4C26CB0A8DFDE84A6 +A7778ACC28EF7DBA6FC1CDBC5705800A29FBF238AEC1763E0F9B02339FA6A8E4 +11D8C3E9DC97CDA9312D91A3A64E72ED65ACC8B9460E77688BE8C5315E31010D +1A2595442F58965BCC7AB3E245D7E82C869FF631D6B5154A178DE4C5C7CD0DEF +B5FE7A13BE0EDDB3478F24E9E415E0999936DAF4001200CB69010A27046EA11B +2C677F2F838885BBDE9F370E6D981EBE3814A6E26DF7398E71307C267E91CA52 +FC7E4039D45A538B225E1B285688E4CAA243E1A05ACAC6BD29DA173D99831049 +70C9EE5EDD31D644683A5458E9167AC38BA9EFD44923463298A683D449936D01 +DE6366E1369E9D1D37A68CAA3F379A012895980857A510A624C669CC103B71CF +E507EA75854F0ACAF25FF1B0AC5CAF338D21FFF0F7941D9FEA340A2AA9659F58 +3EBBBBF52469CECD979F4BD3FAA32763EC2304810EC2341F52678AD8F267385A +1FB9DAB00F1ADE83E37741CCACED5214460FD8A487F9B9C77A401095434AB8BF +2243497A1732510CBD90675E073BAE7CB2C4FA32028EAC040AD5B5B3FE4675D7 +D8CD9173A7486EDBF9FF59B02F42982CEA6E2E54CA12175E3065808CA54124F4 +33C0B1047BE03EF8550BB6D63FD312B9DB10713A6F4EDD439452083586A22172 +5D251910014D503B571862FC2B9A9F6818E5FC4D2BDC61B0BF3A65A8DB578C99 +A34263CC197B3E08AEFFC1A50AEF145004AFE122098FD5B31D98C1301FA9FF3C +7E5BA9160E88980715743756E34F840C6950023A6C9D6114348AEC5F4236D34A +14E80D884B0AC4D368AABBD7E4955F2818C157ACE66AAC950919ECDF8038A985 +0372A6DAC4548E8E17BB5CB06C20F08A9DA85132C20B91F5CF0D902190C25A44 +F045FFF129E607D49FD4B707D437E97A1B1303954636B4C541FFB0F8354C946B +E258179ADD8096A1AD49C11C81AFBB5564252BE349486A7AC8A26C20F7B5D404 +18A08B4412E0AC1FF8A18B687722041F3AC5A1F1E7567299CF906AB0E37143CB +A3703FCAAE846FA55B7FF43FF7EFE2AB34F3FDD9A66360D669459A54D96A23DA +B5BC73CE7DD9B433773D9F4F0FBB55BFDD6BC18EB47CFBDF3503E7C60CC785EC +F6D032CA9A9E8F9DFE7156F76ABFE4F2436BBD3F0C942C65D1E182F04FAFF45F +C6CDE75ADC8E0292D7EDE48FC45E9A6E35D5C45B87E4FF82BCFBCF95025C2976 +7901B6740EF3ABA5AA29111252003BCE13CD6A3E6C834FA0E4C01BD076E47962 +EF303BDE9DD09D6907D836CF9199E7C47416D24D24093317F5DCF5C833956031 +CDA4943283F99C0B308D5857856EF286F8E020F7EA923F17101A582806939AF9 +EC02BD1B9CDAB8373938B9BC961389D769642ADAADB26B39FE2DF0FB8E812655 +040F93A9C9C44BABB746F0CB51D8B2018B1F5620D60F624347123ED831268F35 +3F14CD8E693F35CA35F84478B68BAF34A519167202596E9A087583E56DC53AB3 +17B8C3B396453156E007DAA86D441AC8E874A987855928CF78D990B027C3F4AC +35B7CEBE10A5225B84AF0AF2FB814384986D5B50D624B7C2CEAAF3DB1C300AFD +5D492291111EE99F371CBD35B6B301F6F141B12148B9B48F2981261CEA0781F8 +2C6EAF4F78E03B8EF8FACDF79C2EF33FAFA7B3695D0F259005B896FAC44D34D6 +4C590D55E611C34A22E1F61D1A58251C0A962115D58E0695DF6A98F505DF44FA +7D7C21170D98D3A6652F8A8893CD739FA8A9DD73E6E26A3A3B6D7605C9F7AF75 +FC8A71DCD925BAC4BB99203BF81D2617C2E0C6E4BC21721299013D3B9644120B +4ECB846F77B3AF897F92813102E8004F14443BCBE6B81F15A9423994B749EF4B +C3737CE7791B0577BBC54D29EB458A841E6DF73FC36DBC2D6EF65DF0E53544DA +1CD9FABE29F7172EA3245EAA958D05ACD9B91E5BA30414DB41ADDF8317F5B7F5 +1FF06DE55AE1573A5D0FA138DE4D2F078DD7D7926C6E98374871586E6ED9F5FE +BE15D9433127FF0CBCE30846CE71E4D84704AF00F19FA0D4D54DC1CE2E4991FA +8ABE228220D150AF3211E672064B4E59FCAC1B48CF99306519C7C1053E422CE5 +2EFC96E981C5227BEA54F9651B59B9F3026AC34080355FD05CCF22871E0FB75A +BA05BBE538541922695F1D8FCE7D6D0D92FA5A11412203296890C83FC49EE6BE +FEFE63B3B3E868F92AD389ED479C04D76192DE6DC0D13DB91DEA4651C1936BC7 +49181A960FB872A8C68AC09A385A0EEB9C9C85654A208EB86B2173453292CA9E +634EA2944F64F96C259369AAA0B9EB07535352C25DDEA8E92D030BFC41D66670 +88F861BA06264496B2BFCB8DE46084CCFC4F3D3BB76E402E97980B08A9690DC3 +8FBDD6721961810D32E8626D528C704F7F1818FDEE1F91A4AB16A6B817A33CC6 +1AB08A2A36D424929872FDD701E83163DAF18B14B101A809E737C4137834A764 +607B4F416980EC7EBC542BD62DFB6CFD355EE815A64D14299B9656ADF85000C3 +AB5CF404FA4D3C771AD37E1CDBD3DE70687096790950C0E3EDF6A57FC60989C0 +A421A529E6C3AEB98A225704C97F5AFCFBB755C6C9FA193F5E89EE8D21A6E043 +29D48B6D90798E4B1B82AA0ABD368099962C339FB640CEC9CC1192C751EAD1AC +E1E450E56D503D7D091AEAF955B537116ADB479C90F16BD815AD592031DC85DF +06E0EB7AE0F5F35E69720B5BE8318F7033F49E92FD81CEB291720B3160C897B6 +74F5865F950CD8769A92DCAA6A45BCD37DA94DB12E5C12B942D1884E5D050891 +B24B82A650D059218A5DBFF61B6BF399C916A7E1D9134C1AC1ECA2D2EF33C249 +4A38B17EA1A050FE2D6F24F4B44D03633D37F84636B2035336C7DF456C23447C +CD73BA41C1D5A811D06EB84BBC21AB877DD9BC3FF1949DC783A184BDDAEC71CB +13FD629F24410728C2D96FE91493C54E70FB17F6B9FB28B1B6BD03A2610E09E7 +2B393DC0B4F138C003B3FB77177761E7B84BF343C940CA39B6C8E2B725C7F055 +D559E296F87AC291047F0068D3CD555D151C1EBC85 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFRM1000 +%!FontType1-1.0: SFRM1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFRM1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-189 -321 1456 937}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747 +57609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9 +3894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4 +41C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E +ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F +BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0 +C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508 +2666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C +9A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215 +EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1CE17ADBB75815 +7BF819C45DA64CEAA10062501C3B0FE0387FD5406CBDB17A69376AFED2632E2A +C400D16CA3657327EBBCF7CAC55A62AC9AB3D07691C97D98ABFA2A4C85DB2345 +C8773110004A7812B031AB3F9B3AB9C7D0E5A2317931334466110BC5C95CE00C +E1CD16242B71CCB962978DB5B8FB03BB2FED25589D10F8B3861F73DAEE17BC59 +B909B17D2510F640D341330CCF08ADF9E3106B0C8BB0D04D5F939FAE21AFE501 +4614CBFE82CAEF30ECC2B6B47B373FAB1A828AA3CDF7B59BF013442EEFE267AA +AF153EE99EBE4743CA764DA09185666446630553F3D278E1953BFF08FE477C68 +4661A47656EC28B2039365CA017F4F1B6E9F85525565795336F7136A054E8C15 +A5DC42CFF335C364E4CE3AA6B2D994C06755AC8F47D2077CE2E78D55C139FF3A +8FB1AC9F23B06E08130D5636F60DD5462F796B9572D41602B364404046DBC3C1 +2810C5CB192F06CCD0DEBB630AB851F83DAA632969F031210CCAE081481BC26C +70241E3B6A9E5D5C9D03D0CB3894B67C56FC42B85256FD869D386F4E111424A8 +5440D6DD0F8339C5B26FF77B5369B85AEBCADDBF3B8F0497D01DBAB7D519ADBE +D96E0CEC25689C42CEDF7DF03D7E272CD37586B57E786E92070292E9C3E1D47E +0A6896FDBE0E928D5DB66C5EA2E6854382AA5CA5685B9153690C89F9054DDC6D +B3FD91105C0A009CEA600CFB92229B74CCE1D5CD54B5B98FC3BB678BEBCDFB46 +C6879344596FB5F8D06F944125CDF74583DD980518AE2D21CEFDC37035CD52B8 +F789FA9EFAE3616AD9FD1E3DE672487EEAB7641CB0BD529CFA779D760050C8CA +845F90A4A3C17D3345F693A399DCA2F57D33E98FF89327E11F4488C1178F7685 +90168A50018F480BD4A37773E7E94D1CE78A7042A09FB8FDFC8825307CBEBAC1 +70EF577F4FB5BFCF260A4A974D2819B6AB69628EE35FB5C9410C2DD7492E5B20 +ABE6A0B351A2C7848EDC71C154BEB335CB8D729783439C3C30F66E2B5A056986 +8C1976D07F0EB87DD9A66432ECCE06E3CC7AF6A949BC0F04038ADC737397AE47 +CD1B4DA2FA4D345E513FD2989E631538416DE27A398249225FBA2283D19DB053 +32FED3F58AF914AE91715B82C9609E21115B51A1BF84E206CE9AE237101EBE5A +D2A733DE210660CAEBCC0624FE053CD1BC4E240BAB92A63D02BB936FE3FC1B51 +4C17ABB4CFB6B5D336695D6564C4D558F15D8B8DF67E2DCFA2329B685FC7E54D +643F7C28AC6661022E895E2BAB631ACE06A9A9FF209EC740EB5778F383FAD114 +3830B37E5F85BBAF87266E04926AC28EE58208E5FF3A7F77691670E52EAD9547 +7C862FDCC7E38291F9D57A5CFC242C3A6CA52CA6F1FD70DCBD7775A922A82BF8 +FE45235B905B88AA1F57077E40DC39A24FD0F31FEF0E8AD8D232194435E1E46D +BAF38F0A1DF997F7BB595A7DD1FB0641EEAD89461E96EB0CA9B8F74507554EF5 +9D717625D44575E168799E96910161478FAB68C09FBEB2C71851C9A266D00F71 +935DED5BAF7ACF97F2903EC9F39DBFE5034F884D07B3DCBC37AFA1AD3FBEFEAB +15171D267262E0EE3A1B308928220DFC4ECF5B47D69E05FD209C78EB04C02E57 +BB179CB25CDBB9EED3113315449A91166245A8E296F5506423CB0976CFCDAFE4 +8A6325C7CC8C296ACA9F65445301BAED4B5C0741D4A6E842DAA661EDF41F56AB +44A01ECBF24084E8328724C6B96C4AA9861BFEDD8B868D0901C0F1A6D8DE936E +063A86D882388FFE83164D48F8ED5325D93A44718CCA766DB7E79308A424BB95 +96C01223258CE375CE848749E9776BAE09E9DE0B40A4E60CAB87F5DD44027A7E +8A840B4655DCC73B3605D2AA42440D81C64C56F274B3AB76DF147153A71361A2 +8CDF1B9EB3B7408A2061915D01EA2FF8FD0FCC2671D7598440AE0BB0BEF2B686 +CEC58565836FDADAB8AF8B41781E12C156A0C13ABF92BFD5D3AD648739B45BDA +63F1667EF43B5BFEC525CDCD5EBDF6055A56F8EFB0F344029B4FAE13F5F39D43 +D1BB90436218D25A2700E4F9FEC0024E40A9EEF27DAF0B9E8644F305289E2720 +0220E95F5B2C235A30D2F970486820AD219033ADF8EE59614415C725D247D1C1 +13A2A3E97AFF7A7C4754B34F0F887D0DA522E23CE4B53543EE23274A4E35AB90 +126937F05024AA805E0C9B1247F592823A4FD66516885AFF7D982BD9961E83CB +3A428737E1BAE9CE248E218B8F3C6BBD771BA744450ED82E0F6F47D14C8F37EA +53E0871C69C57E357DD91C6EE90FD8DDFFCCCF53675B9256CF5387097B94F548 +3928FFC038877FFBA23FDDA0BCD20A59239032099C1D4E81FA79D1B73F657FB6 +8AAA09DC49CF836758C3ABF74F86BAD5DEF2C0E27A67924722964C457907EF85 +7768FA8BCB78A942A6AC7E735519F76EE1819C62311CB7231B90B4FBEF4BD42C +E5148E272C6A07C62E44B634B80EAF77C4678AA003ADCCE107A62413223359F4 +5D49BE8F9E394D1706FA900038FB78A0042C6E34F9EB2430255451EA8BDBED24 +B33D2C321A8AC238508C65A7891ED5A200D311A5CCBB984CCFFF4984B6C973E2 +6B49D2DE75366CE29B7370714477487F7DB9B92AC6CDC752C1A8E9347AF4D8A6 +BA18F7E20D5266D5122D00C0C12130E00F6F4345E5ECBA9FA07AD34BC3736E7F +05D1DDF60397ACE0B3D05AF6B3539B9ACF4C51DD58485557CF0E93122F862442 +9EDBA0EC2349B037277B12C1FDB1A140C181447FFEBBFE1B129C727B97DE0CBE +BF6566D46CD929F59D56E5EDBD46C31DA97B354C30C957C8AC043A1A15ABD592 +8B0BE4AA2722B21DA5486F6C7E238C2B1D51D0941763DBCB00EB4AC62F92DAAA +C3BFFEDA5D2707EFB6C956FB2938A9F7692A0C7F53F0FD64B09DACC9C7369094 +236A028036BB2DBB9A8BAF17F2E1683E2CBBFAFF80AEDF853C4B6AE0029F09D6 +F82000FD6F9610EF405DCF2341ED099900F9CBF3D4A0DD4CCEB0A322FD64128A +A67682A05FE781364D5EFEC8F31FF038572A939790B6F8D8922E39B848EB8A79 +6774E35E6A9E4FAEEC157AB1E76F5F1FEB3C51EA2546A25390A0B65779A96176 +3DA072A2F7E6D9C645D2EA3E572DCEE4367E5C48C027D889C21EFD9CB662BCAC +06E1FC6AA5FEF8EDBDA26B381F1DC93BF9CA6308CD93E5C302B483BD8C5DC96A +E0A549D43F0F0FF3C26AD6F167A57E16AD3A4BABCB916C1DD38F7DE255AF984E +731FB5DCC43D4F092C1F2A7C4B66383E542DF5EA6C93D92EE11F97CF96D876E0 +0ABB14CA302180B5F195594927A440961CC682212B91C49A34CBB31C63BC213E +01333C8680E45C2E567244DD437C9DDA01C31989FD377E95446C12AD4B31AFA0 +36642676D7A11670C012ECB95A1698FA15591CE3DD9459D56F730021623FB950 +B5AD26DFF7B8875FF41E027995C83844A337AF36BFB304EE0B1474CAF944D3F3 +6F6578809A8C34F93467C904661E073277126B478167DA127541626E069F54DF +0487319E7372F40C4B5B596817F2352D88E60966020B1AC5069A272613C152B3 +67BDDA469E4AFD9A5C6CA5940C6CF164F5A879AA563F78644782FDAD4A040839 +172AE1B40D18E3EEAC3DE65FF1E36B990182A7C552DC797F9282E0058FB833A4 +1FCA23C93202D5E80E91968677B980DD72D4849AB7182B587234FAFDA66115E6 +7207A8E469C59D8D75BFA359D398EEEFF042E3039E13DD9EBA754B4F0E7EFCEA +598C4D5D03A83FE3E12ABAC555A090772904542194D0FA7B8DF087D28C520370 +0A1B0467A3410C344225461587359DE2D0ABA8AFCE946761C3C25E6DB3BA225C +7EBB46ACB75BF41ADE04A99CFA6F40A62A8DC06D1FB428CEE7220A24C4F710E9 +390E31647B34FB4F4BF9DFDB4970009E87181A28BECD9DDEF0AD7C4F17AA5DA7 +355D53A731F040A2E03562C91747F8D772202104E707F4E1A4BBECC58D564A2A +4AE1EB3766EF2447C59CEFBF4DBC586BB076ECD68865DF1005883DC31FB277C8 +A73DAA9C33F7584DBC29C1E854B6433ABB0C95B20A2D15E7B8783FAD53D6DBF4 +C0C7733A6C466E3F9957D7D204A06E5E8AF2CEED07C08939A3DDE2C62A9EBA62 +E260D893C887B93C492852AC88D4C0349125EA311F492951B2CF10C40502BE6F +43BA2AFD0CFB80D2FCFFAFBC9326373439B566F1D520AEEC90B1CE7814753631 +0A007016DC9436272D0F7D02F07E8865685360068A7324BB45C4E1B14AF5222E +8260659A7EC53FB6559ED82662A6A71040D5DC5218644D0B6E89C7B307B119A9 +2DD149B68AEB439BEB6004D3BEB951C5A77E2347719C840F9D80FEB166DB2921 +4561FDF5DEA9847290AE36776450A82E332578CD68E18C8694A3A112789DCB9E +BDE1370D442C2268BD02B689A06E3BF6A7D973D0558E38708EB224BA8532DDB5 +6F9B45F5A779188F573DC300C9881CA3FEA82759F805795998A134028BFEAC36 +8CA611C301EE8888A6B5E23A054BB979C3B2765A1A31039603476203DD8A41EE +4E5F2458E582904611C1E7D6A5D35DDCA32970271BFB1B21A18EF7A5064CB064 +0FE67FE477C08B31C99A1F412C57EC52F22DE68C10A032E2DB4E9EF0BF7E947C +AF49A788DEFA49953AC2CB3A80199AC5564A78467A0DE9653164C690E5E1A43A +A0934806C61442FBA48C3A72C6DE2DF791BF25A0818628A3A2D6846B3F80CCBA +0D8C4A73AF4A83C3A8A67B5B7C1105A8A616425C8C01430CD53B87B4453E661B +B5135F61CB43AE29A4BBECFB543F88A65BE5B62BD9292D3A8AD77E104D23A2FF +E0A8B42D8361F4F4AD697AA4113FC736C6BCE4AB5EC199BC38509DFD6F770F66 +3F30AD895A1755943936612438AEA57D95DF26492FFF58DB28F3E9D392EBCC63 +FBC6312A96DB7AC1828C9F348AC84AE11AEA0EF827A4990AC8B56F7291E33D92 +E4238E710DBF23765DE7F55E4CF0E5E3B1B7752ECEE67DEB3C4B8B5621EB3026 +B1B7D86DBB3CB49480D82EEE041AABAC78B9A0159066C9E1E1B3F0B609F7D6A8 +D961E40A742D4DEF88749B7866BF40BDB197273DBF932EAD731158AE8E59584B +F2C14FDB41055DF050AAA294962C772E462E596A2BC5859DF71FB76EE853DE28 +6F488D1911107F16D275CAB98E00218FA8EA1466420A6948354C4C2107BA9A66 +6A0419394BAB966F6F8438EBD7C3BF803B2AC884DFF567CFAC4F14127EF9F57C +9E871B94888726133B02EF8612DB5D9C59FA6753CD52FCAFA6EAD1547E674B9E +AC2F89769561942B30CD8F435656170684AD5F833A4FA58300298B11CCC10DC6 +8BD3C456E755A3C7659ABBE847174A74375CDB6AC5EF4370E07D7B3AF4B2CD1F +FD6E1BCCC6D554BA23AE35137D9179ABE05CD7F44E3EEEE83ADA9D54DF5BF992 +DF73B6ADABB828E32E0E5E776B6A4EE93F19E0C7CADE72564CB02A28FBD48EAC +90FF5D7101B9A16DAD8F0CB047B3AE8446D1FFBBB040C8D257870A08DE2618D6 +9C46649DDEEEE098F242169281079AD5F94F4D46106E917A6D8E5C341717EE4C +4E5B30C8EB8C34A6B1BA22E733B3FDA9F9B21E328A19BBF80843B2584EACDBA1 +3ED8C992268C3BFB41C1BF8699D1A13E6DB023FD71495D647DBB227A144719F4 +00805345777C502E4DD741CD96F9F3A2E9A8F1935AE395D789B19C45C34E00F9 +7E97D2DB43CFAF1B243B7AD72631B7A9EF583A03CBA575788EB9B9FC13053A7D +2ED3646C0C4EFD1B5BF8E9EC27CD83CC3E5EE9328797E9B2711285B001D05DD7 +F47A20ABEE6D518129A645176E1413548F70D8B645FCB5729D3E371B43BA4B41 +CCCBE44E4B57B7363E38006F628938193BAA442B075924607D035DBE1253BEC8 +68510AAEE4FF4165FE35E149F14A7ED8305E2C673A29D1F779DE999433EBEB76 +456B69DDC90A88CE30C854EABA1498CDEF8BD9F3DBA0A1C28AD58F4C24DDBDCA +E422301F9D4C7E84577468E2942E4627EEA57F01D7B319F8F498EB827FA3329C +744C038CA5E93FC02A160331EA4C88D993A41F182B7A47EE9CA676E7D19BBBCC +A0DB5E4D458BDF3DE1588DCFE5A854C998C7DCB12CA41F02EEE710E7AA734227 +DA8754202ECBFC7F94C8534E760D1EB092A16569B09343888C8BFCB4BA4D75FD +B0B027DBE706DC8A504273FDD95DAD898911647236459B07957983587B8F7265 +4188680A02D5CFA911032205BFB45CDE8FB95873D394AA7CE5EF8DA0E7F02425 +1BB0EC195873B5FD273B3093EF21DAC4222BAD0927B55FE301E0FCCAC9A7BE0D +F9C8123DDD1FE98240762DF9025D6C30DEB1309E95FCCDC39266D3E4A190F18B +AFF8145444A7DCDB5273C7511CB4676FAD01FFAC7B89E13A6F1745E4694A1E16 +6823D7AED054EEECB7711D6F0D5A93815ED9352CD15484C1411E018549DFDD11 +9754FFDA86DD1AA3B98D810436824DB68165D8994030FA0A897B4D235905878E +70CE626B47EE5C6C45364246A167EDDFD67AC003084D6BB74CAB963863B3D691 +578C22DA7FEB9E4F12937740FC7632D193CFEB06FC43C66D1201EC8C699C4F03 +FE04A62538384BF244A807198071847D6446F0DD57F541F3161074E3B41CD919 +5326E283FEC7943DB8616B89DD9632E1213A919DFDADFD2B6E55C511820062E8 +C72ABCE134A3479BF750E341F372EF0550084F40A06DCA1790E7DAD0CF58D396 +65E2C28B103AEE91740E2A3BF369ED246E697AC0ECBA84B0993E312892B18CC5 +1B2055286AC280D35634C288550DB20C2619F4C14BBFAD0EC565E737CF8477DD +9E6268868F98D03CF2BC22D2EEB9533447DF8C324BF709E951E6E688E7186D30 +0837F93F3BE85FFED7D5EC27E0388F551282032FBD3217F7EFE75804C70BB9AE +4309B34137B90E4417B0C5E9D85B02E60F4C6D5341C850C8AED4239A550A850D +AF7CA372A9C7C4FCF865F9A22253ED79C70534B5B76DCB93A22FB9658B4023F2 +CB37AEA49B6707443F7F882AE90FE5927569CB2EB20409F295F67DC7C58C0215 +FD9FFDF32CF460832254061A2E632AA48264F9A14CFACA295C846272F1FBF107 +7E786DB51FCD79924BD3CFBBE3A4BE19D82FBAFDAF96BA395D0F02753A2401D7 +26FCED7A6F36F438A5C0478BDEAAFFD1706040F93AAC1DD9A616421ECE4982A6 +E06F5F015987A8D0377B0A329BFAA39EB5F85BED22992E463158141E2B98A8D2 +C6AC693DCDD077425545D1A85B96F792FCC991DFF2A444F01AF5C5D0B311EFE6 +AF127E30074DFCF486F41B2D86C404C1BBE3AA3E9EF090367BAE451A303D6A41 +159F56CC2695CB214296C9100E09A751C10AD9809F58BF1F55B3EFF6084DADE6 +B065BD20BEEBCE9EBC2BEF084C26F81DC1CB69E49659140DADD4CA458F966944 +8E4F15861C21A44A7CD2DA1C3F466BF4E857E48A7AE87E62F7F3ABECBF57FAB4 +DA37992C12F98C614BF0BCF98668E3F24338AE9B7DD34F72BCC6858F1F68149E +4C7078836335CB3830C3B2E11A6248C4485AFEB935764507DAD1D156FEF121AF +DED848C1AACBD7A024C2FE254B67D6A21F2B50FBFDDECCF6193CBDCF1336F8E4 +D8E154C278108E93449AB8BB31789982D566148A8850A72D727146622E76B9EA +470066F36B30E7BD4A284E2E82D444573D6CB83D9A7BEA26F2BC85C2E56055C6 +1BF45C869DD22F3C72E98AF8910F5563FD678734863351A9658DEA635D04CB10 +803B3002C8A34C0A5D928469C8C8E6BA569DF26A74F7A8D5A62FBD9D6A89DAA8 +4D6638A415E49E919F3B1276071D81F9578FBA995DEA9DB194030ED94F94903E +C5185272635659CE152AE8FD1E3E418B1B83BAE915F099648D6FF77B12E4164D +577B2E68B3BB4D0707DF97F5BB698636E7B8920ED125D8D57C331FF687912D6B +FD8798D27394AF7F4F0012382AA3BBE0CC5384D1756478B78D2A4912465AA29E +75AED6891EC0E5A59156F005A297E7D0CCD7A756035987F6A5346041A936CEB3 +0C5D2010BDBD866DE57AA7A10C10DD37A377615FC761955E88A9E462426A9F04 +6987618DE9906C730EE8CDB2433060A700AAFF7C1EF561B5BD2B6C371C8BE8DC +A56E15D6E646EC32BA4FD02BCBF9146D5BDA14F53765437534FAA86A8E4D25E7 +A0751195B28CC547809329AECAEE551B608C8BCAABB224C18433977140446D2D +AE060B4D7C12AB3E3D1F7E6724ADE6D1D9E3E1A67BB68257AEB962FA85910498 +8C95C23E250FAB1A65B10806DB045CAE0D07C101288692191BCF9C3FF4D5ADDD +4E089905350C682DA4BC85BE0B5CB46EB73650F2640205DE8C16112ACB0A383A +F510EEA3B982B25AB0F93D296CAAB4BF0452C7BACC8D65B001332729CA1B913B +6C41741A8706EE125994271F0B5B3A5148DF78B2022F0BE413CEED24F5B8C579 +9479C0B57C8051B509168898F0A39FEFDF2C960468100A145D29180BC2878F89 +82639A22D4B5C215518A53BB54B02999698ABC09A67527FF711B3D85FE62F9DA +7DEA4ACCADF5182E7A12026AAD54821B1F41AA1A7A7519E343CBF0A3ABD99337 +A09AC0E24A1304B93408ABDCA9B2C1730401C35271F36704CAEC1A529C1A7B56 +EA04B8ED502534DD90080F5DAB27885183D9665CBD6EAA5B20C2BF4E401C1B6C +3B4FFAE53351B23B3F2564A9012AD2DFADAC4C372E4C019A9C4BD0698C165698 +4DB029444F6DE6DDB7E52D5CE34C08E8DF98C6DB6D919A4DBDD7DD4B8F205C30 +DF8D13F727ABA4802F0AF842531FBF5E0C9B1247F592823A4FD661C56D618EE0 +795577D5ED25EC385D5B226926FCB6434473B77A07B20C78DF99DCD01FD12112 +008036A7907A9DB3C16EB097563A4C92EFAEF890D326F10BF2A11281521268BB +5301EA6D07BC9BB8F9480F3AF8A3CD29D75FC977F1D5C1C5A4378F3E7135BA20 +0F79B1AB0948DCC35C3E6C2AFBC5585C31DA3FA5F356AADFC778254D8CDD4AA8 +165084651EC81A24201AF897B1D8302690CA150BC09B08A61AE9DF20F8083439 +CA6F46FA3B8D40A76F33EDB0DEE3AA7EFAF24577849E9CBA64AACE3F6D272193 +D709C5A9B8CAD7CB5E32D0FCA727506D064E8B324AF1D92A3ED4AD4B797C0CE9 +20DC63A01D1490C53B9A91E3F22BE45C2D6F1BA4570F9C2E4BB6CD489175DE3E +7FCCE905119830D82966E313281CF175BF4A02A4E4BD33A157D34E3A36070989 +EE94FCB35E3C0A16CEFDBB6560259437E0DB5D8E13419C36B655F11DAAA8D795 +1BE78517A0088804099D1AEDA76B839194716463616218D2CA3C534DD2A83DCE +E4B95082A10E8E04BE4073CD3360E850730A1086613A2FDF97981EB804B358D7 +2858D1D25120FF3149420784C4C7F3A235E86088B3BC53306E0C6E7DB595F7FB +95599C75FA4BE52C24C31581720F2C4FAD37A635BE422C1591ADDAFDB0B100AD +D37C1E564957ED7310E67438FFC63FEB697077B3801C21F18FCE12ABEB1C9949 +A52123E6333A0AB8699E2A1BD96042E480EE7CB17B98A3967CDD77B448449333 +6AB5E89D40F1B0C83C5BDE3B1B91161CF2F197157BB0FB6824B33C511CEB1DBE +4BDAA1224952E9325C1A491C31F98EF3E461051BB13C89FC4E59BCFF14F2559D +AF8ABEEBAC75E9F2E2CB4EC847B931D9857C3B16A31B399274458A9A8EA1ECCD +C25C60E8A164928EE967F7268C30C7B204597577BFF28F0565290B0827C19A46 +E567FEE4D90ADC53EBDA0EE7FB4414650A0311A0D89DF6A6DDDEB3E960E1FDFA +88E6AB0E385830AFA2263859644C302D4B0F7D629E27D5F96365F28F360936D9 +CDB35B049FD91C042AFC47494C9025BF6134E762AEDBA118ED153CF2CD73DFD0 +A97DD66320CCB3D57E6BE3EB4F59843AA5D748BAE9E2F7B45AC79C44C9C6E094 +849D6EE2900C4AAA0650C2CAF200E1F8948C114D16D8E04E5B37E88852235919 +4529FCCF947372ECB27BD2636287654006B368FC50488D4E5E6E335627F3FFBF +CCF21DFF345ACF67BFA7C3C3E2988DDAF1C1C8B655548A969D432D227A34FC33 +E497FC0401A88EC6C5EBAB2EB93AE45F43A20BDB91831CD7DDA151201C9120BE +4991B5DEEFFFF4DF109F46AE10AE5316F3CFA69EBD674FA754E7EAEA3B458443 +9D34DDD10C20B0E29BFE91C393F64A38BEB5A2A18AC8C48F7238152E496B4134 +C7E3E3368EC6EFF8B80E1A4FBCCF67BE85C01E69EE23261A0372C6F83E579F27 +6B4478FEE973646B6E717CE9A1DB92A7F896839267A93396495809C6B3B4BEE2 +521324C2BF474BF1DA8D317B2053BE6C071B55907ACB1A1E4257DF179671B533 +CE41F0FC1C372CFE35BF066C34DB109D3925CC15BDA9840B9B9CC28854DB2D25 +E958FD52B8B85F5F4C08682D632C6EFEF3EA9F91771F168792F7B595A923E703 +F053C1379F429CEDCCB1CFC850A30E51CFFF5F34F292CEB37EDBB7F0B90805FB +72DC6E795A18DDE81C99766134F0FE694BE854C3F6DB8A516B41B37B8731A157 +2344FA5F7265890DC8E107A624F0E3A9DA8242D507E267481CD15AFF67B2CF6C +EE942F67A0ABA8D0FF2FA9FC89057F26F5E4F613C4D50E879D955834D8B57860 +EB209E5D3A05649BF179DA515A288478CCDD5814AD3DF03ECA6EC567C589077B +E973B40D709C856EB500E8B0F68ECDFFDF65B4D74A7E48756142547DB43E1DB3 +08EE0AA452F417D274651C0A2290F147A4C1A34C26965CAAAC2C5026600A5584 +E6D37940939D2ED8069FB7CB9CA174D8A84F5D7914A2F3A209EC712949F1E2B6 +772F4BCE71D4A4B506A966D1242954A80600EE3ED05672B457D8FF1C5611F5B3 +42B1553FA2643DE22ECF8AAFA7F60D7D25E1D0E9B6F30672158A5779A6802E2D +FA6FDE2EFDB4C68AB115DBC45077B9BBEFF0E498AC4040D939A89C378B22176A +73620D97B5E4EA1CB56E1CCAC3F42B43B61F708BABA1C0C34B7AFD27F6D4652F +976633B7F566D32F1196F3C52F6957C31A3EB7D6B01CB47BCDCF769950AC8567 +7C29A9CAF1600662AA1244171EC66956E70153D62714A07ACD1FFC9D96703EB3 +0AA4F00C5D894D12CE8C51A971E34DDEAC3960039B6C949F611D1F4DE43BD9C0 +A148F4BF13E2B804E7AD2B882CF498FE6B3C7B9818D3B7D3B6F77A913B7DE079 +B27F8F9F8C86D8D507AC1FC45D541E1DA1C045F4FD8DBF4C824594E450D7416E +4B4AD35A717D2A8506E9720398830C106C342F853A8ADC462AA8FA3A05598229 +BD14C828AB255F860128995EB7C8D61F14F2A7137A0BC12E17A15C58FC473154 +F14440BBF863FB76057F4EBBBF2A1D8221F9E9A0C65B29FB3516285924E18F07 +27384F65035B1158CB8AF6B4ECBE34ECC1C92BD43122D50F769BF2635DB3A6B2 +809013C7F3BDFC734C4FE9BB0124492B397CAE8063F9DB7FBF04107A9732BBF1 +DE23785F7C93D8CF4EF71CF5AA2B15FCD672EB3B04BF0C20F2BF7DDC6C96DA05 +B51212FC3C15A1341DF03FEFDD72D3ABC34E8CCF7D3B607C058336EA3B39075B +5D33BBF0FB0D9F6D1007B5C863156EC1636E573FFF75376588223CB5CAE66BBB +DD2F28F62A6CAA01A20DC6ED5A1BBA09D3D2E2DFCE99155F8560A05501371B36 +C77B9CE789A7F1A25BB7E76970E14CC4D68E6A9F965AC81144B2C7A3AACE0F16 +B204918623195E9355B1CA091A4E7DA97C5C9B44EF7F4C684B6BB7195CE4CC15 +E287E6B9920195C092924B8AACE106D06861196230930C3BD9127C11C9FF2304 +428ACB7AAE7CD7E03F532CC982DF1C25E9AD6277642A8F3DA96322CF2F5D6E13 +C91D1370B77CF7193C0882B54AD63C130BC46B3F28D248C9EBA436D460355880 +DD260F8D71419DBF63E5440429CC98DC77C52DC3B8DE77120720FC8AA96D6A21 +30FAF109A22DE2C5B6BE985DAFF4DCA56A210552323E27BA7A6287353054CF3A +EDABDFAAADE9F324EFFD62189F1E95F04ACEF0E929AFB87CFB60A8276BF4F24D +3838D406A98E13C5BEC9B802419FC877272B644165D1DF5C73C752A5863A2DB4 +169AE81B73309EEDED85D8EA7F0DAD22346E6D7292084C9B54AFEAA96DC29BDE +65BC23762872730DECB549E68CACDEFCAF9C9D91EF5EDF6ED379E1DE2D6CB5FD +306F441CE0548CB861C8D7E3B2C742FD653E61560560C0F89453A945E332A36A +296F42C631B8D278A30243C88CA4B1E861486F0DC8961CD57059394C09E56B34 +F35885F657994EC8A1DAE33E25F9FF539D3BACF73444EF96E9B2D1D5EA98791C +83DDBBA89A6045A974E591706CA03D2EFCA2BB9E185D1DDF9A5EEAC158ECF8DF +24E56860EECEAD7885CDC00B3E21B3A43F18056F4B929F1D6B75D752E2785946 +B825FE322EA5D4C2395A33DAA0610011102B166D2E179046B511EC03D1F5A404 +FB627E610BBB972F36591F3CCF344D42512CAB0C290380675C45947463CE4143 +29500F0314F1A48D9A7778204143BE17E8AEDF446F747C7C364EB2DFDC09F907 +7349C960579FCDBD0DFAF5367DF13854712FDB8103894469BFF7A072A4BC1E8A +5DB3DE45991030E879CDA191CC5AF0F5AA4EAF9537010E9E59D7FC5A9E50D5D6 +FFB14E7A93AA0159E380CF5F0062593F64B1DF91A7D4664C8763BFD550A8D800 +48A00D9A295EA233C4642F336B38DDB19F5AED826805973D94A4EA9543566CC1 +6D3B423A5B99F34840B539410A0A5D8E3FD2F3966893386573FDB37DCD596508 +1E7638FFED5E34F70561F300FDCCE6DDA284C287D7F863E2B69CE5BF2C7F9DD8 +6354761166DBF57784BCD075E72C5317E27A4011C0DB293E503F892E2AD632C2 +9F98F3A63182E9A86CEC90A5A7090091ECCDDAF83672289EA7A2B57540F4BD87 +32D22447CC9DD97F3A620431903D20979303EAA16BAE50167B0DDF5BC57E563C +368FC2CD7A5EA5D9F773FD3D2E8D1832882148100051BE9A99A124C37F99DA8E +4B3F9DAE12DB3A65E948DBEB692D031F96A76025C00AC519BAAD5F369B6D4FB6 +9034EB7994DF1480A64BB598FE6F7090DE0D19C3220AFFEB9355DF4897412731 +8A206241AFFBB20E758129A7F35FF4A6752FC9E1DA5F8E11A5703CDE29DA1619 +E09C929AD4C3FACFA5909A4971A117518246B2ABA0253A688552D0590F4B765F +79E725EA40F375FBAFD4DAD73EBD3654AD70897CAFF2471EC2FE30D64D2E5C3B +F765B99291FD42FEB07E977B8ACFE7D2355E58BCBD94E02CF68E1D0497C5DD3C +99847FA65563015C802A996F133B5FBFC7A222E39A4B7ACC1C818272A97FADD0 +64206627AE413D164072E7C803D8ADDA2114723BE7AD318FE993D38DEC3AAA98 +5020BBCD6F870D8D390A83349B27672BE6D090E0479B4A0901D7C54A74BD8DFE +36E6D747C388FB658A5092178338F8659FB80001BCC025B40493AC5A76827726 +D334CCE482851C048EA5CAA13D93F66187FEFC42E3E7DB653EA0C47DC416F4A3 +C2B24B7CB4A08927877E724E70684465D34B23743B6453C7A02B9AA54AD0FB1B +6C846EFFE12104BEAFDA92A62AEF4C895A60296186938AD595D3E7EA6FCE8AF4 +814FB2B875C2380FA12EC3DAF09B58F3A0F0171850AD6D916C75CE5BE5F6BAFB +FC8A6B4AF68BB427D09E5FB2D47D5A303DC6981BEAB387453351F27C23AF8F03 +532D45517E7E6BB74C3DC7A1AD93C29A03FE6592242656C4A98F0A2E28EDF77D +D7A0B6FC1678B3031971AF047C29FBCD26DAB7E8923845AC28CA14A2D00CC01A +2243992ED937B3B774B6D5FD4A82F0D1D94AA1301FA12FC0D8B7D2789930DCAD +864E457136836EEB963D6ED1B46EF76C15708BBA6F90FA081E481BDA28A390D6 +5E9A37F8AB0B02DE5B852D4191BFA0C3F5554F0F8186CEF21EF8C4C383F1BF6E +1974834C58792A2B87DA951C2F0D52F8860C6A8D26A9873AF9561C2AACC8C899 +8B1FECCF491A1574DBB58A1C5F136D935B95F0A6E785B86F0FBC14613073C42D +B8D6FF8FA86578A22D63C06CFC2AC3BB100F1C883072DCEE52154377C2B9A8E9 +465D60A64C56FC19E61CFC45920FB27E112C34E23948D65BB3AC06B6382DB63A +E23F744BB1D936332AB3745769187AFB47A0133512C73F4D8EDBDD43B779EB6E +DC0E422BE6339A43C224954178698E838C5519A1D839BB41CF11EE97B2C26BF4 +7CA9C5D6E2CBCD435A92A1A427EE0F0BB3EA1BEC0D1E91C80D3A1D6E3FBCE208 +0FAA6C65303A45147DFA54F13132D662BC22FF5188E31FBB61E185C306FA4B8D +07A9407EB913B0CF46407B012F74B242EE91E49232CA891BB6F44013354C6F60 +8269BD1421DEFEE20BBDDC308A1594FADCD50C57443EB3E9DA038CE1AFBB215E +558CF8732A643A3E872B40D8F972995B8885560E5013507CD300C8097D0FA096 +B89593EF262C5951D69A325131D37F94D841BEA633834CF9119F9D32981F9F24 +B5F167AB828483A08488AC0EDF72BBE1B16BAFF6AA7C72A97F769CA412E3A1A3 +3A5137FAD91FB87C5ED4CBF4BE19E38C8F82FEFC3C0D86FDA37B588258B7FD69 +C96195ECAD77DAECBE37AA065E7FDABAADBBC2482A84A983B1D6FC6BEC6B66C2 +488AC43CAF218059F65BBFA205E9803908FB4FFA49248CE056296BEA7A56789C +0978CA8EDFDEED12B8CB85A01312AF855EC909FF285309DECDE04CEC2FADE907 +7970AB5551B3F3044F2672917989D1A1D235707F0218FD63FF71B313F10F88BF +77D9454E5B86C9586D5971176129D7A47939238549A75359DF402AB3D7B1E6F8 +90A0ACCC3787DA0A89646872315271054AF016B6DF90387CBEFAC608C9D9EEA8 +26AB565CCA3BF7042FC15259AC9009384088995A3D51C87F30096BF2677D2E69 +FCA08B573AF910E7BF3BFC68CEE469A5D43CB25A903E2D77A4AF7E431BE839E7 +2D4DE8488376C1312B32C1388C67B6BE84FD9C2F0379562523954D8A37E50D1B +FD1E53FEFD6709A3B7663213647A18FE44251A38D552E21571C41AB78C9E6CC6 +1352497E467B1898FFF92161293FA538599EA073CFC13A4C67B5BC2602D56D9D +34BBB9C4A5885970D4DB827C41CD812D659E49F6DD0D9CD6D9BD96737591F86A +7BAF41608E5FFEF7864F76265CDD3368BF096F85076B374E78D4336C9B0D786A +50CE8CB5E1D6862E2579C425D422B497DD0A61D6AD28F40B482710FC02034D43 +2B1890DB210CC277254FC9BD9501456B8225FEA8DF1C112295F596D6AE42F13E +EE59B7A725FE363FCB85AEA7AFA2860D420E064914DBF6F4D2013FB9749330BC +CB37E8950621262289B1B7BB265075AAE83FE40A166529EAEA7C04B32C077C1D +EDF5183668C9C42C319BFFFE729E6FF86D4DC989D50533A2EE41817B1B58CFD1 +B963954AFF54F04E22F0C3C724C2189075A9DACB00933383F00B21A098739BF2 +E2449E6B9EBCE2997498579A92B43B6480F4FA07A89D9643B63E1CF6DDADB36E +DF4CCAB0F285164F3F67F5BD1670A7F671750BF50F1E5D0064B35F1245DFE167 +DA31AF15610D612CF82741DAA87C9DA7A37EFCB2E5144B1E269A33394A1EF019 +74DC8777576F8BED09FCC38FE9A3D2085638CAC31CDDBC2CA8615ABE70E9FAC3 +3779D68F2B8B73C9CCA30266A231D674C44ED3FC017E955F43B9B5D780267BA7 +2FED48D96658269BD1E6EB164FDCE3055D2CC76B47003E47BE312543571F4CB0 +102FA8751F36521DDB32767C1B277589259BFC81BB97FFB0A41D485FAA543358 +6C59593C7978279C030154DFD4667A4F6C8E273CFE145A86EABF868487AB741B +19C602C0B03CDF0FDA0593B7C8673E3EAACBE78C4787AFC3BA3B12C759B8916F +017BC5D20C9A44079F6D498A1C25B94826B5333D18BC4B8C6ADEE04B65911FD6 +42896B0285ADF7F35C5EC1F50FE79DF97F8D2B3B71AA6F456BE3DAA660D34D02 +74D2BB73D36F4904788B2DD16BB226F98B4BD777E155738DEC48E943E61EEA3F +BDE79DF8345ADF83F6B6D3957621050FB9DFFEC6F9584BBA5F1E478A5B5DE778 +D2F1A4CEE58283C8AFDFB8E35F149FB8DC9FC2E16E72E28ED76A2A09BA282A1F +D0E49578EFA3EDFDE303C71FC21E9B96FD2FF08831244583176D584DCB1D2233 +C86A5AE43D621777B513932F82095BBE4F8762751022D37595B7DAB995F65199 +C0AA4C5E75B594AB52DE0FB02DC65AC91FF4346B4896FC3359EB3009B5C1419E +72ACA9198E1D466CE84EA09E097B990F5E466FDE2E891E7F8B0D13D40C311E9B +82BE678F4F785AB9BB1E7F576AD26956C9F857CAA625D457157665973CB8AAB8 +1FECA4F9221BD05FF8F8C4B89679147CC37681F368489D9ECA5EB6239F91E141 +037EB988BE2D06F88A17E5633E78DB9180012F0F5AEE29F15A5F117B6C954771 +55EE4443DED24466560091C6267F088C409BBD078E329CF3505FDF91EF714A69 +7C43CBEFB6679AFAFB68F0DD80AD2EDE4BE111A4CD7AC4119ADC27DDF293C981 +32EE548578983E7137939BB871239042968D517931A6F589330E4BAEA98ABD74 +3FEF957F2F46EF50D401E980EAB3FDD90CFEC312B9F0812E15E8288A540BCDF8 +15BBA03705A0ECA18074D48E15FDE6CC47AAA10BEC3CEC4ACF8B5550E537CE67 +90655A3AAD5F217E097178E4367E6931E63903A93217C68714F2D465C1A4C3C3 +B9B764B201D8D93A82BAF2EFE3D86A5DF79E381D28264FB88D912E1D77902ADB +21EA9D2219D153584E94F9FDFC2325E5F615A7E600C6691A54DA416ACCF5ED15 +1D53E2FF69910578BB1BF0B0EEC4F999F15176D71AE7537C87F9F800B5754CDE +E7BD92845C78AF1656610B36DA4DC0DBA53E19D5288394F54908863AB68E95BC +90052E32FCB6390957B06E5A42722F8DFACE67A03675B8698089E8152222401F +C9C8CFFBE0375715E4C30AC63845B23BDB4D840EAA8108A67FF7591642BF9B67 +325D3991167F89DFA624F1807A25E114B182E55D01CF6CA05BF8E259C5FBE4C5 +FD0FE95DA708294C72A38BAF210B354522DB91D286D266F6C81AFE11CD0709EB +BDFAF570ADBFC20A39D6FA8F8BEC6009B6785E7CB4CB5D7F7504653D6C52BE87 +CD426944523A30005209D41636C2BF62846EDDD45D13B463FDAFD4E23A849A40 +FDAE2096F1E621D4E37AADB4C39E6785812BC481598A270C5B9D581EECAEDD8C +78131C4EBE23798B9E58BDF8C74CE05CFFA998F65DB1A30D18EAF50C4751F85F +578FA29E32D03C428A1CE0F80C12B562F3B844624D72CB78010859F2CB54CEC1 +2F7E69FF6478BFAC05A041898A8385D0FB6BB1F69C5FFB7590804251C7C84ECC +327760A145A97673ECA9277DC026FBBFF0291055F564130BC875C5665A7B39EF +A1BE2084901B152495EBBD8A6F47A0552D553C23248F2B0009111656145E033A +ECE1F226E79CF2E061E9EA17CCDECF783B81E18B6D3E4937B0CE938108C4660E +3FD4B431378B84D43221BE9FC86D81C5D7F08AA10902A068936B8C1439700F25 +CBBBC8395643AC598F133DDC673827B5556711B6E34A554457147F43029E5F96 +5146E572064831FA3AFD7B1D2C4340933C0ABEFD8836BBD9CA6A0D11B76DFEBE +480CED36649148849EBC4244757F735E53096F608F33A5600A6E8D540EB6AD0C +20F4C6FD071BEBEFE1C4F405ED2355BC2EC089D18EC8D0328412DE548AE6C6ED +3D3B170635E9E18433600FE85386C2123732E0F48FAB34ADF478EF6A15BF0C7C +3A83AD9AAB014D1565AC521A29AE6717E57E3A201B32B88EBC7E8DC58EAC0913 +28682A1B36B62A57DF1E920CAA1CC32173E609C70AD9EF2B466A32A57BBA0E99 +2189E6AE9DB4A3809B5BE2691F103990FC64D8523D13EC813393222F59911045 +73257885DEBBDD8EC3F13BF531962BC50B7F83A6FE14047B4281BC2683DE2FE7 +F98813EDD87E65D129AA30DC8C7CFA636A933F7CF6C8148DD5D9B4B362911EEE +EF3FC22BDCDF68D998D6B22DB90EB63BB638C8B1C95CD991BD958E0693A02D86 +57D1589443DB506CE7001207F7B2CE7BFF543E1F5A9556776B02C6F2EB9D26C3 +2E68460D2D911B99BF28161BF454F328430D41BEF231BCD413E5B62C0B137606 +B331843027DA93FD6409D468E7F207C418D9F9B43878A271E765C171EFB44B17 +41083D56B45E57C9CDEA401AD81CFE5A7BB360D49C03A5CFEC272EB9DC4CB5BE +6D9EAFC2D428CAFC8151BAD609C48E75B40DB9C996BF99F6CCA12AF4801AFEB9 +0907D417E2537811E71E4C8ECEF9F2AAF6DCFD9F98562B77561280A5373F6A5B +11E9764A322EB673EB08E53ACBDA5BFFEF0796D41D04EC3CBBB6355A361A8C30 +B1C312C26950D4B3DCA3594A3BFFE53A5574EA5520FAF1EF6EEF7F1A1B3C62EB +400C1D3975E6E0A7EA95B7543797BCDC917C44BDAA8AF8842ADB73E6CD95826F +C496F73CE76501D712078FE6801D02D0E0E173DFA1D98C84E4285EBA15E962BB +23A7A4C5AA06BB88CB36186CA7E61192567CCE04AB5FF208C0A199712E2F1A2F +23162FE782A4EF4FC664DAEB734DF821FED6AAF92E29A45984DF2091905DA9BD +2F840C231FA9104AC77F1D95068093498AC1A00253B2115C9971DBE9E482C4AA +0FFF7B9A9926774BCD6DFEF484A3086199AD2A6A58F14D87CA346ED05A6F363D +EAE4CEE0E3082035879E4C9FEF9C02DEBFBDBD6B3C0935F1C0ACE06FC7E13A7A +06450092BE11DB0920581BEC4C011186A7F122F042E8FAAB14B6BCE226CD341E +83FAE799F59ED9090A70146803EB2F86E4F42B8B84E11BEFD1C2A9C8B61B2A43 +CF448822268F0A491A97F4F6C5DC5B43A9D8250EDAFE4FEB14F24F6303CC5971 +A711C098C81729F7F35B99DBD753C539B86ECB65AA2BAA55C75936E8CEF37E91 +95AF20D9F224F73427A9F000572D016CFFC77CEA8B9A0402C2C46567F9F816E2 +89319162F65A77A4E99FBD9802A63ACCC30F9AAE53636F6916D81C0A28A522D3 +1CF9A59E77E8982F47ED294A09AD1F2A250F4F5ADB0BA9DAC8DA18DF71714E98 +9395E968624ADBBDA27746B0D7CC1B603151002CD636A375584C6EE2FE2105B1 +039B51C1C39CBB5683C4E1BD4B14D0F175C2B873DF772EADF3AA1175D2500818 +80A2F57522D6CA59FB7225373007E2F2CBA005C270D09793011A5DA47959B628 +1B367CA1043A5971A45C6E3240E06C9A80756936BF6325EB6BDF91E97F36CCC9 +A5669B4D48852E840E65DA93221B917976439346EC6E7ABA0FD8541BA614E61B +E2E8F7BDB89B16505D3D7C47FD3C74B1E83D14C554904681FA19EC7E802098FA +1FF0631D7EBDC8011F81F8C5BFD29A9F108DFBADBEFFCABF7A7EBC86E44E9B25 +27523B31E0969354056B3704E8844E631F3972518FAE7C856C1918C3FF7E06DE +32915E48633EC500E54559595732842915FD9817C29CDE1BD68E4527CDA3A77E +AD9B363E69A665224EBEF23DB3C381A8B6FACFD444EA729A2EE211AAD61C900B +792ADE52D0DF52057FEAB8001BF8881B256E73D0C4C334054C8664EA864CC1C7 +A542E153768791D04D4223ED3AAE140684F92A9C72B3E6AAD4FB887E457EA578 +74109CEC10D1E60610B41D659DD71C4A2F8FD38951725CBBD1C133B67E947FAE +3A8AD0736B361807ED883E9567077E8A0DD343BC2B1C5BBC0BC051C8A53C444D +15D641059119EB18A99BE095CCA1150AB21602583117CD5C5E4AC9F857D00F37 +469AE7A0C9F4FE41FC0062D7E08EB8D8E9128B82DE5FA04593461EC01F440085 +CCC56A662F46A22D07FB50EEB071896D83F85B9BEF82A732ADB0C6BA37072A79 +0D4973A038E2853053DA8A45FB38177C1C1D7A888488A00688413CE0E02B05D2 +ECD672F7DD5A65260ED11711A8941B63BEFB346635C0747DFA0AD1F074B0114A +E0A65C17CD7BBE57E5543E6D67DF4A4EAD3D338A77F50E62AFF1A90DCA0725B4 +2793296A690D303A0AD24862BBF3B6733A07936598E990702AAE191A0F75E052 +57801DD80B8C342B8A8EA3249C19E0F276671738E2CDF73E9A433BA49A5C3948 +CF1BAE2C669A00619960E265E645C63B0057E5E140D2F0455D982A90D648CBE0 +5433B67EAB2BA27FF59FC74165954C05D77FD3445BA270CBDAB9D5FA7896A83F +F4D25B9FC040B67462C4DBE2D391983A40C2FAF7039DDF74329FF242C867FCF0 +E8111D8CFBD4881331CB71214D2F63B6F9EDDE7BCE10D108CC73443F4C427281 +70CB57B6B1019340AD05DCC150ECBCFE6E92EEB6FCA584545CFE4663648BE3F4 +6A3A9CD35F1DF7750F0918047DB04114039D4EF050A4C260292A2C758B7A47F1 +0ACF5426EBB0737916FB4F11BA621D7E8A278376DA1C14EF2C661121336D81B0 +037D3FF76E1B90193E7FF345B4CC6936125B998CBCBE15349F1894D1E20041B7 +48A6751B9FA7192F62F7F421E5FBA187188486D17849B5209CA0F8AFEAAD76C4 +E642485A6FE7810033A8ABE856B9E94C98425C60735132F1334A9652F3143BF5 +9D6D129AAC142E3EF0374F2E58BB6DEF36480BC2990BF8A21929AD4DB14B42CE +91A1B5E60587F84C709693FEDC3B816A260A2BBAB8CC350B082F154173E8AE31 +C92B50CBD0A3924BC6FBA9946E327705771B975D3FAFB0D8FB8AC745A6A91D67 +BE7395CB842DF341EF9B6D83563F2AC654EE9A65182C90D88AEAFA8EA1BE1854 +4BE31DAEDBBB59893F5E4B03964D8AD2E2837B404D44DCF4BFA700A051A82BC9 +8E7C8826FEB2967956F02F09D05D665FE4C26A4142A153D7A38937E3DFD06515 +F63CDEE0D89EB9C58350FF50694624D04AFE896DBFC51B5A4621F946EDF34547 +86169212677D2B1C2407B21B0B08119C4CE2BAD69C1193AA97753D75E2275DE3 +E7F6302DA95E3B53580F20727127FD7CFF5DF4E5CE5E272867EA5DC55566108A +9EC3705D2B91A1BCE32BB38C9F3B95D30DC7141B6779A86A8FEC66C3A11FF58D +B32D30E4ED92C8E016A6889FEFF22E6265CD4349B6D956C2E957814F954DB2DE +799BA1DD8E53945101C2C5952E3BF17D397E3EAA15B900D369F201925F8FC24B +0E37AC46EBE8E9F9A65680EFDE1F2B6238C5B2B80377121714610EAE0CACFDAF +6E3E74E0D412020222D476F1C89D2E12E13F6B1FE025B29E96B6349D4BEBD1DF +1DBD75B5D3016BA270D85895CAAC893C2FD780A00816002ADC3DC7B87B087252 +4BE70E24C4B26724D8B1DECF7FF8AA4F4BFEB5CCEC4E75D7E7326A17AC40EFA3 +8346207C2CDB1A90248A4A51150F79734286FAA1A778D5509148BFD638482978 +3E99A0F19E0AD62F9011EED4A9C200B10AB781CAE42617AB2B556D5B9C1C79A8 +DB31D6D1E2CF6FD906FE031C0555CEAB54A999079A92857F73ACDEFF8F10DC5C +737D0AB3226D238BC3D8D90F12DE65E3DBE6363E3C9C2CE711179B349733A2B1 +C3E8FED39817FC942A6E6F77D4C19F1242FF494556027BC01488E481D2665306 +3E2FB9869153DDA63695114A96208F3A8A40E0908597521E543B9605305A3554 +C65C1829BFBD44EE65AF78E1B47B1ECCEE9B863C0A050484E0A247332221455B +1791B8CE5D6BD9C823FB8F6C1F6E7DAE68AF6BD0F237E47A8091AC0FC2243EF4 +D4086A051A32B5F1493B68CA3195D4F379DE7C7A2EB721ADB457E5B7BA35AFFA +8B72D274749CFC33D9808F94D6B1CD50457F1A62B29EDF379204141F1F5E8704 +CCDBDD0DD514EAABBDF147F09064F334B7FA79C280C5E1CA75D53BF349DB87E6 +C33C5F9E960D8EF643325BFAD04686A2E1269DA228431D37423DC52D99D8D3AA +D12D50916BD9EF448CFFEDDC9CE27B33AC96F09CFB58A84831594F137AA7FCE9 +70A338782010C94F7EE70ECF37001EBBB6B907044AF6F572538BB9779806A2CF +DADFF8FD509DE21D04122957AA7837EA48C6C74EEA5A9113B8BF4054EEDD8653 +BFEE326920DCB736B762580CA96D533B36EACE82F90F059EBCA326D65AE6E522 +AB642CE6BB3F729C1BFAC98B0CE631D310BB17E7DC5600A708571FBB219E0216 +606FE121BEEED2F8F97D397DFE374111C19FA21AE47B055E55957C38EDBAC055 +454814D6E9988EBDF6CA74950F34B79DE2979AEA3B3FD43C18A7E19F0A43E94A +978C3548C21020BC615545AC9B75C6BB37A0C0CC7D7D8448A2CF9C89A25FB81D +A4FD219C47DF3B80E8F25FEB6EC541CF077BB1837B55B997A06747FD83BA1D24 +596515B43FCE88D00FDE476531F8B841D7FBC1F4B1A03636965913231158D060 +9532930BC7A2CC1FDF2215C20B5A8033B59F711C864B01762C06AB8722F61F57 +A491BB5C6776CB2ED341108C013242F5475D2F19676A8893BF85E733367414E1 +12478278355809D9497071C5BAD05ADA9CD15A32A0DACA6DA9CDEB7629B092B0 +4A6BB34EE05D2E789F9732C7ACB292EA5066188DEAF310FBCFEB02F99399AD30 +B7D97E0F9012FA1CE47B3947A824EEB39C28B1D89DD2BE6F57042EACF571FA47 +665D8A9079DC3510738F3FD185979BE657853F12F0EBD47724BC7C203E3F51C3 +E3DDD6C0AE7E8822CE7AE60662382B66F9FCCE607E3CAC3AF3612EBE2E3E083C +B2B2C1728A729AD4CBAE78C7104A3A362DA1A4F1981383E0D103A0BC8B3D62BE +1FB63D6A51AFFC15DEEA743C06614A3FCF40EFBD685D77E6AB48EE882846BB9E +E860E7B4A6202084871E7FF6300A8E5F8B16F2A86D75566D92780F0580B0CEE6 +D2B859860630AEF80A1FBDDC726BD6B30EA80A3265C3FFB578C4B1E39260C3A2 +389C5FF2E8FBE8EA43E4CD79E54F4D5B5B59FD8B2293242797F61F260A5B2ADE +0C0B4547EA3F7B0DD04AAB31244DAE58A91EDB297737457DFAD63F1B87BCB9FA +0AE1C1E82BD8D428720D5DAEE09B46EBEB2602A7349FF303BF69B56ADC05819D +14B0FDB8FC85A73B4F8EF524F3F7FF3AA39D7160A8E9DD4EAF62DAEC21FCDE1C +D23C570BEA16460403BEF4C196F74022EC0A24384F4CD05588BFA794B5E0C7B0 +B071E289EED906E7CEB2E3D1ED30D0FB125EF89E13486846FA5C81B128F932F1 +CBD0E31E24FD3F87C1EE2C7A0AAF68B5378C96DD454EFAD9C47ADCA3F1988077 +2660DA5AEE769F9089EE17A4178F58A64A403B519137AB2E5F90D63E155AE0D4 +02B5D9DAE5102946198107DB1720236D687D6D04A21C1DAEFE52DE1E5F2EF71D +C7EBE02A6C81BC7CEEE4A3326DDFFCE28DD5A858B1DB6013A4A488EFBDAC6C9F +544A8719FF0D02B6AE164937C952DA80EEC61AE1C7D1642C10F5AB314F767907 +E1D2FDA315D84A8CA30D7B0E15C68BA024EC1AA66A079BD129C457085DF51001 +08682A2306BC671D498B7D135C42C9B260E9EA44171B5234A49AD8FF367530C9 +C7DF39E95B7E302853AF3D99DF356EFE27B0F9862828B69B2B18962B5BD686B2 +ABF4C9D2E968354FE837109AEFEFD7578BCBB155ECFEB7CED3A48225DCCDF210 +8095DED73E54BA52D77B7FC47D6F330F0E9E84DB1D9B083D8423A1585E8C336D +D1DE7CECFF81F6775B3D71E7F4EBACAEFDFF837009C5E826776349F4D2F7E3BE +1D3A25B2C140BCFD02D0A728805989D0B396694433B21858E338824DF618A7E6 +CBDE101C5E311C471679B0D8CA27699DEE0C3A95FB003DF172358CA9C34293A7 +323A4D72A6DE8857874C91BEF80CC0584320BE481977BF7A359BA4249BCC5DC2 +D8A2DCD1E9B1555EB5EDC1894AB2400E63810510375E4C72848BBB8A2B4189FD +09CDF6FDD521DDDD14E4CF760BBA2A73303E53718B53262B2FA1867E5995C89C +6C47DCA3ED3EAB2EEFB82F121E31653127DA5213879B1A4F86A44D4038660CCA +09C4DBCF72409686B2406DC9B406D9BD2BFB134F7F2737C84B61184EE543242D +2D0E1581AB39C26D0E0AFB95623E918B06A4DDA9E79E287DB8682F299E71B2FE +A1F7B26B8A2EEE3E641A5C93D1CE20B7AECF7DB1776968879ACF768642A52D80 +21D0ABCF1E797A49FBE5A0C424B1DE19613C46C87E40950C64291CC080C3C832 +9C756112F945E72003AC34E90281379A3EE09D38BABFCC6DB2DED54ACE56D7F9 +90E1D9A3FEB42F07BB95F31D6C5845F477985B5BFDB5C6E52DCF62A84DAED840 +2F44C11313946A625875C5DA492867B0DA26FA4BB1A96D92237D1663D3CDADD7 +272F3F7634677AF947409848132D43E8E9860F3E42A1BD27656F3530CA23E6EF +48DA81778F5387183CB5DD3A59344F5DB6BF6405ADB42CDECB85CB48E4527FFC +D2A2458ADE0EAAC8ADA5506D8855890D8597BC8F4891D83E942E58BABA21F9BE +6CDB6C8BC17C2DB20DDE01223C514054CED58E68BE804D0C1472CA3CCA46839B +F07D4F6CA156EE2AF61CD359EC312456BB0B5C2320103A8A502E87A2C0CC468B +8E96B1F277CCC33BB475E3D3749F33B2F835CB591D3A80C6154C8889B4BD474C +A2852CD0004542ECE3F65501C8E3AD2223EDEEA592BA7315B3E9315857324987 +EDDFB0D51B7903E78CBD47FC1423EDB27E0AF64C5CD536513EB7179CCD32AB97 +9D7AB250E019510AD038621C110FC960664F12E2896E098914303524EEB86BBE +D4E81332710F387271A54656A3E43EBF02A1BEEB3FBD7ED3BE4ED7CB3036B88E +AFC5F0291249DBFD9B2072C3F1254554C9B1363EF1652DC266A9DD50BF1EB3DF +623D239EAAAB6333B2BF269D9B0BE3DB020B97ED6834404F5F92640E958A72CD +36116DA64327E126927467CE722674FB3E120D2185E9466757DE5F70420D719D +8E2673E0DA0544136FB80CB4C562B498EE18B39803B2B0B3AA834EF47780B5DA +79FB95FAC386FCB9F7D41851BF7A947B019A5D84558DD5D2D65F0D66FBAABDB9 +B84F04801861022F61ECBBBCB9E25C5EAA4B6440400AC4E21AEB7DBC209BBA02 +7A16B6C76EB5A9D91D1F8FBFE9322CCFA33617C57FDCA52D9923E32522273A4F +1617D2B9132B156AF2512C439DB118DC19861FCB61189153C099CB5BFF20A4D5 +5DCB4E2CC65C0573FEABFC0C7E21C6E866DBB1424D69F24C43176E44479CE006 +730FE4AE1B0237CBD990B50AAAD05B270E78E5CEA05020C6722F519C9A842F5A +BE6655B847AFE2A55000718BB9F4B270264A50D80FABEF3EEDD999A3A3D2BCE6 +802F13EBB6299CDA5A5AFE6076841A93ACD6935DCE3D4010C2A533084558BA1A +9B016D10457B99C50029E92896867A4E176FAEB2DCB99A3532EF4DE084CB1E96 +F4BE65BAD8F8C25AAAF3584932157FE9127A1D7835570CDA77B6F7D0229615B2 +AA21D3E3431778144B7EEEBB956B3595BAC07AB0D751FD62C9A6CECB950C3538 +BC6CD77C8533DDEC5C372AC27C6A2E9A79CCBE36864B8348ED91E9976785CBC4 +EF07FF48B49B29BF1206D7240DAC3A12F989DBB8CBE5F6FA91BC0EDEC04A2A7A +9A6299785CB40219C27824F58C55BCF547FA8DEE5654A43DAC8280B440662928 +0D4E4DC6EEEE1F0C0E35E9228E96B4F573153BAA1D35CF53D894A74C51BB6E4A +55E9B2FFB61F092B4F888065038B55D958BDEBE9598FA3DAD90E5709F0B0E0FF +DE79BE14618CF79A8662E5568F18A3CBC6D09B68DF0FB332D46C40F590987A61 +5E393DB2AB0477C10C8480F0B9A867BF6A02F20351EC59B2DEB1FE00B2EC860D +83E76D2CDF1F213F0497A12BB8AEF9CDC4D03EFFD0B8F3AA9D8ACDE4617960A2 +8EF4C506BE24F2A3B5CDE1B98368A88BDF59015F5349D81684340FC068D66765 +BB73373ECA89499B4F59A4927D2C570A2DFAB416448A04D8DB0A295AF120DA50 +30BE22C955705463FD41D6B601DFB5E620E8FB613286B36DEB36EC9490C2994E +D5435DFC3F0F0F4745A98A60611C5193F1388CD48A18F3E721A524C3F88D1CE6 +373050987B34D4ED2DCD8DA4D8DB16D00A1F0CF4F8CFEBD149EFA78E737B7230 +AF131677ABFC07306CE38120F2953D76A84E39565DFB324E8A5A923914E5E054 +687503DED4E80DE9AA25A7DB3F77364C6F12C00BD8F11C49F08BA70308F9A4DC +E509B0C1319FE1984FC01335AA5A0EC5E7309D2C1EC843575DFCE8B4C2375AEC +C92184932876BAB2367A5B5DB41242F7B409EA9EAD239AD00A804EEEA0787FD3 +2E43FE0F363EC52E5A15897B6075A85548FBD06638730EC69F38F338639319C0 +89809A3CDCB60FF8A60208022DF3468FD483C0B5BA43F46C1D39B5B2CE9B85DF +7A47299E90962361BE2D4AB7910FA184C2BC48AA3B20780D66B2B4EA0EDF5B05 +B6C48D4387773B6D67DF8A9A239475F84E70C0FB2D406020F48D1773913654F4 +45132D01525B3C7BB7AF17F19A8A039BE7F182C1EF0807E02CD76AA543A9E257 +E74BA7A4EF067A92BB470D39523E31F0FC152BCF85932F1C38DC41E67CF045C8 +9B4F7B909D35F1E602D3A3A229AD15F49F02342D7B0D3705679321E100A3407A +95DAF5081DF7D98B53CB97C9D51AC86EC7CCAE3927BF6AA5BACA993455D27408 +5931BFC2ED2F6B06AE0627DD2B697AF0355B2594DCAB53003EBCC39F7BF0C3CB +E299796249322787174180262E89DFED4E33DA5E5E6D60631BA92F43FED7E91D +08408B588D5EA4D42129518881043CD91EA3D8AB42F255007995DC970D1419D7 +67156C21B76893B61FDF55BBA4CD1FA7B4B90AA3F1C64B42CD4BE8714D61B9F9 +D1CB7BE88BC050CED54CCE63B075542943E73E87C2B2EBB941F899184B19C59D +931BAF7F53133948A9B4D302464486909D207BF5D135ECC528376E0FC7DB93DF +849C6F29F1673CD08EEAA67C80EC193D80E9B3502716061AB96442A15E76DFD8 +3A7B74968EFF508B62C4A4C2360095A74F9D039C9A66E5F0BCBF0ACFF1D43B69 +FD50C16DD6ABAB1B320E5463089D771FD4DB65D66129E61F29786C8C249DC8A5 +758EEF3DE93CD763698AE76267C1EAB9A5AF224892D3F743DEB40374E8D6C02D +1A7861E8531EB9918ED5FFF642293D93D41D08299EF196B58D5CD3A1BFAAA350 +A20D2111CFC616ADD3AFB71415FF98E30F5FFE957DEE5E9D803222C6C35D94BD +40A43FB3F565B462D1A8039BD181106EA03C38E1EF81FEF3601203B9F26CA2A5 +BB2EAF08608A52C7C19EF2704F9131312EBFEDED137F7A79C99D1095FF85E470 +B0F79637B3A6F6C45E2589143C070403B2466EFBEABDBDE0895E50379D7D1052 +4F2FC50ABF9EF4BF4483FB93683426701669C3F5E28199B8C87D858D6B1B25FA +D871DCF81CEAB71D3FB7AD2E1E2456A2792720EC91143FCF5B5DB15484E72F84 +FE2A10F5A726363A1F06362BB889E4FAD1A0AD2340E27C644B392A89D7D3484D +73F96123AE36D03FFFFFE633BF015C145A0B25B98CA7D524160379DF43CE3C36 +673F45FAC8A8D63CD03717ECA647F6A3B23634E33BC43B79CB2EEE95CB7E9F01 +4184D7C6B634B9873B04C179D355D829B77A52FF118A9C16D854D4F2E83CF7EA +1BD60244590A81536BD27FBBD5984B985BD6493D8CDEE4C84684A371CEB06102 +7E4D023F72BFE609D408AD65B4BA561365B2B355D5DA63482ED9807D20DD2427 +071139A2D1B1EDAC50899265FA12DDC0FF16568B460F6B3C526276D3966777EE +C6C21E5BFA32145F42081FFF25C70B0AD3230087863840FA43005C337EAA3BE9 +AF577E52D58A351845C91366AC7198B22D0C6019F6C63CEB8109EEED7DA89B24 +D9559DBCD40A9825D40F65BF01E0A8804ADB6B145B9B94AEE12FFD31F57FCD5A +1EA298C3BCBC1646F181516FFFD2FC43046B6BF503DEAF982B479315D5402E63 +8A02A7973465CFD2A7E1B17E20BCAF12B3B17676BC6BCB0DA42A5D339837B76B +ED1B51449B8EE8807D330015006402877FEE9027A263A257C40322A9048803C5 +ABF417D357B4461A99AEEA9AF74755E140986FC19AEFB15AA42AAD4FE9ACB5B5 +358EE6B0F472FF26792FF63664B18307DC2E0E5BAABD1C9C2DCD0524085885D0 +E7F7F8B4FF423B47C7364D615F43FF2E5C3FF57A3662F47418B2B03CE8BC7B2B +667A7F47C7A74E79FF634628D59569261A3A387B7B3FE7ED20E9D705EDE34756 +AEF02031C54E49C9D42A371738870E13B8137627218FD2703FA8FEB440CA4198 +F6A2A43CF219E144108B6CEDEECE86EFCE68A9BC1716B4712420298BA32C1453 +7E6D10684F386702583E55C3A94DB2388EE18EB35261AD61B08A7DA98AE9854C +332A64BA203123AAD3576BE2C635DC60D6B49D116AD99B59FB8CD87AB171AAC9 +ADD81250ED29A7F1F96D3482BEA33964C4AC4719ABC0F647DF5F908E73153610 +0133582A1C79A2D9DB8D643A79CEFE77615806C61DFFFC84C007E3CBF716D4A7 +7D83C8A04F24D096BD77F013440938BF95EFEB58F9AC3839D78F65C86B2CBC32 +53F47E432207E4126D05AA29FF693722863F82130BF90474670D60915279F001 +23408B2F6D821D4DD6EEFA54470DCC72D00F0A67BECB0D1215C461529BC37D20 +FB10CB7342B3EEB935184FB18E309DCF4761F4F69BF29C900534C016B93745FD +39F4B7A4B995597BE15E27ABE6E5A241EAC5F138251E38DADA82A3D2991AC97B +FB5CFA577644F19D176BAD9E33429B14063A8EC1DD93643A9F47AE6F3F5E7F7D +3B1B85C9EADFF3D1B9C015506DCED1166DBDDFBD25AF9A126A5FD97A3486AE49 +1D843BAD8865CF0123F45BE95B08141E270E448D4CC467A7FC3439686C0572E5 +2A9440B9680F6D0F4CF80A43447A4EF4DF2FDD399F3BFAEBD3DAC8B088DFDBE2 +58D27CAB82A1DBF2AECCD34307B873B6AAB6835BF678CC1C1B41E3C0249210D5 +0AF7DBEA28E57D520173E62D8CC1CE880211BB8A5AD7C7C7A9FA113B3D041845 +24E75396857842C00021719D0B458373D7E330036DD09EBA8BEC1CDC59726D59 +B42EEE1C45E26F90454973ACE698117140D912647F9B319651729A722C70E929 +F7D2B04709632AD5A599D0E1BAB38EFDA3BDCE499B01D36EBD12C83C4B3ED5B0 +0E4A2E88DEC143BE3D29A3BB4C833D4F660EA761CE84235CDFFC4A9E234CFE35 +9E1076EB2775DF5345F6A1BA1D40D76B79BD396ED1E83557B5F2FAED0196CE2C +C7611C67C44879CE1012F2A5107FCAE7E1320A267156993D8D0D5940C3FA3AC6 +86488587BCAB96B544F57033A493E6B57A0CF5C72A94DADD111B56D6415FF06C +D7B431EBBF62A745C5E547DA458F5F9A116C7A4C80CC6DBCDB687DEDD9FFCF04 +14B9AEBC57F35F59CEC7EAAD33BFEA3212118D133A71A5C06B665A85FA82E5A3 +0D505148263B59211572B1A3E2138969DB43F18138EE430AC2828566BB5AC27A +BF7E8F06B7CFFBC51E8CB1A41DC1530F29DA63A98BB237E1DBAA8B2DB802F927 +2BEB6DD48DCAD7FA334A3257263855A70D72AE577EB6B3A3D7DBD03BC2FCE5A2 +390387FF25EDBD9BA335F92208AC2BE0AA6928B0986082F65D8541DA9EA536F4 +FA80888DC2C7D0B2E99221F8E5D2E662839363315AC6E2450010438D4D4F4292 +0E5E1CA07E95CF3D5387B7248CFAFFF26BE33F257377364620D7B25AD3F89046 +E733BF97F99C3F73D972934C3E49A591B990DA34D349AED34F536F67D226056B +92A0297DD6D847F4FEBD58298A0A3F4098CB587C22B4A98FB853A5324E66974F +DB075C4B0356D7DA6BA14D11F52250CBA270E51A9132FA75B83755070BC3E8AC +CE3323F5930AD95B8C38722789C58FD2FB323DC4042F80220A7D6785FBA2F391 +78CD6E8DA8C5A6E73782B78412719F576767FC8FD32DB37A7A42188D67A0D11E +18D51E9828ACD95C92070AF1E3BEFC32350FAA0477023C88B2722AC43CFC4678 +544264E96CA849ABC0B49B050AE29C18BD1F81B9150A965B51AAB408E1F8E275 +410E7779A6E30B867100662C6E387F681E2AC94DF450B163710C5A6AB2AB2F7A +0E4E202A3F276AE9BB5685AEC43E0E9B24AACB6CF30DACC57CCB156A2FE5757F +D5060CFC388FF0CDAD86B2F175A17F1E16012D7507B49EF5A694D6B285E7590C +9278371F4FDE7DABBB21518DDF727117D06C8ED481024E3B54C9FE40B781881A +7B7A9E2EB81DA0504CEB7F6CF8369932E8C258EA7916DFD51E49FD93E2D9922C +FB2C2215B368E8FE85C2248C9593756C11AC52299404A93C2D2CF7E8E580FFFC +817B83140261CB056F1B6AB7FEDDC7CF955C77D906B289AF67864931141F5DD8 +6B9009FB2248940C916FFF9F46791F00FB64D50866C790ECA8B242FB54AB3745 +FB3BBE5355FE7B899F4CB013D43F5236FAB1AF707BE2F7B0D8CF4897F885EFC6 +434CF862AA4F638B71E9345C5EC197599B7CD674ED6C1ACFDFE8C2C84D1829E7 +FA741F877C54EF07D95C735711AA314D50B51FE139907AA8748898E2610750B3 +9EE46B01902C530E798CD7A8675C51B782ECEA51A3F152B600E92D2DCC1E1137 +CBF2657B5ACE3C4919E82A2A486BBF07A73D115DDD8373AB72A8ABA000155A1E +C02C7652E9D96EB87FAA286234F71A79197EAEC163AD6224FCEDCE51EAC4AB19 +1A775B623C4AC884B17575E6DDAF6AE55E64FA5C2F1CFDC3AD95B5B665C7C9F3 +82D20A58C6BFAD430C801F63B6C91709849FB4AA42F075A4D25D21F1D83C8391 +04C859D4F355BA56099653AF1D7F591C06423CB8BAC0EBB82E43AE0B7E061F7E +F6E29D8EABE89DA4630501FE2378B642A171BFA6F6F4F647489CFE85C25C2AB4 +3F963F2E52AAEAE8368BCA11A0123D406F78AFE1FFB4B87537429AE2B1611D6D +A8BAD3DBD8CADA2C66849D3E8BEC5CD6F0BA84304EB3F8D75EC1BC91383EAA57 +2363EC047B0ADC98B5DA2D44012C2367DA3A6D2B99C3323A0A6B15CCFF8B533D +BC4C76F76940967781AB6D1AF8C5C0CD16619C0FC295158A597000517D6EA409 +EBDEC75A9D06293588D595D8A72136D3FB97B64D2ADC86CAB5474BB8FE548E9B +DB41C23C4F5AD0655DD946774AD42213C7D49B45CC132F37CEEDF23E8D3B6FE7 +20589E789EAF0B5EFCAFCAA03A1B62A5BC96171C596FB110773FCFB0D990901D +60E06DB0CBF1395F0E90191E27D944F83BDE324122C5F4824681F03FD8B3F8E6 +BC46A595722E9280577251C0E31C0E693FACD76E0A6A212D34E4A8069E5DAA3F +13804E428A8CC22A51F754BF6B3D42DA997EC496492BEDD45C282EAB489A79D7 +2DE49123947BDCCA0C2DDCF8CE8781128E25289B9BC15D2F18F292A0E8B642F3 +D6F5B32DD53A5C578E9F39B2680F1CAB85A319B5F037710AB7968F1DCF08BE88 +5D2F8D1CDB27737332BE3520DE708B90481CFEB893BACCE3451FE5F3F6E734A3 +FD24BA5DB023A8BD03434BF30D9523C4CF7325E15D2A159B003B358057DCCEEF +605C461466437F7A6286ADFE9AFFB9B13BF24489814551B2AA2760AA1AEFC2F2 +722B8BE418B704E7D785705CD22865304D060B216D506C07E1059B2DD14B5AAB +D57A63B2957EAA3CDB10E48C37D66221BC05FFD7489DD7B6F19FB775AF6BA0A6 +CF5D12898D8C2A8EDDE1CCE54913EDF074ED1E35D7EF734BCF85D6C154F2DC90 +5478277243B3D7DC58674BB4608C95DDF7C8444C8B6AFD129541A6D9DF2A9903 +B4D251AC301ECF1042A857306EB3980BA89838253FA7644BA0CBFD4CC574CACB +77E33D64445C0A4A64EFA36037EA854EDA52E903EE14C251B8D73D4BFAAB4FD6 +F2D24373DFEEF7173099659B9855785C10060E8E26F005337F64D253DE9E85E7 +662E9D4D68F1B027252DF51AF44DC0DD7E6F05994A792B3CBE26C2BCF66F64FF +A752ECDFA0A802238C5DC3CA4AF92DA47E1A013D9F930437F677A55EC03EDB6C +B57F0B26378F7887F4C54C520F0DA3ABDE09D74BE8A3DE2236F1C1EFABD69C0C +D3EB0DA09BB16DD0376A0B77C3E28D2DD959BEF829B11EDAA1CF13C7F5F9BFB8 +1C231350208DD35DF45D7FCD20C242CAA437DD7E614E51E37BCFD47019D5608B +95173A100A3701F25FF43125C2AB17E17352B3E41466F51693451A986CD2C642 +40EA04ABFA6BDFBFC31AB307FA726E033D613031AF06E4C6EA569192B99070A2 +5D82A614648F304920496ABEC8502ABF45C0CBD754CE7EC7D57060E03B384538 +BF894FCF7EA07E746A94AFB5CDA77FF669953C174966BC2652FABB40EE00AB25 +337A06AA440580F4F6DC7400BFEC6AC5C58D5C73E87AAF5040ED64B588053864 +432F749B68D6AF46C091114958859BDB75DEFDB2CFC048E1AABCA0FE28113B27 +957AB07CAFE27BEC706BC62948C484A9A5333E8A392326C88A55D973D95DCC70 +92CD97A8EA3D66CE661E4ABAFD6D83229ECF69EE50888F6BEF924D5D63CADD11 +C4D7A21DA0675EA2BF15C9C4DE84998D0B69F5686D4C9B73F085DE5CB431B7D7 +D137CCA6203197EF104B1FAE6B3B7B4B6664F2364E69B1A96D70CC1D817EE595 +54A50F7F0C46F29A20A0BB9E11DA2CFF991921357FB4BC5656B67BA91C5A8243 +6C907AF6C9614230BE133595F665F3ECA8E5E4CD6F9B2006D428EB3BE7DE3397 +E33AAFBE50E2F1E6FEB83FEB404BE3899043ACADEBFFC78CE883BF26D14D84E5 +DAA3D87223393403FE12BD1CF8E6C16EE61427F28841576EB4C112D236981C4B +14A0B373C06015136FFCCEFA2B8ABCDF316265773A1FCE899A4E22D8245A7557 +46998F7D6FFD0BBF1AFCB7EFABE5403BC84CAC9EB3309B8966862B87415EA54A +CB99F5AFBE5037B030B0DC196974895C9EB75A12D5EDACC83F3EE4258B448D2A +167C4DF31B3546B0EAEEDCF31F61134DFC17A6063FCBE09FDA70F7CB8DF5C1F8 +09618DBB3B1FE9E33593AA2B9F4B0F5EEC9202C346B0F15C95D62D7914230F35 +42ACAE6ACE600DDF35F6CB1EC986B5763FC2CAFE50645CFA457AC1843A83B1B9 +45F2743ED899C19C931A852E56BF0BF69F0C433A9F9B45179654A65B4CE96CA9 +FA9F5037C967FCD6DE25880719BE90F58FBA561C3EC59DBFE3CA2A29E95A15AC +EA30AB69593AD005809B105B28C5CD980E8744F48F8B1EDD24E699655ED26D84 +B5629040FAC51F9CFD85D6321453A4294F0C890EF6E9ED7AB312F521C04AC1FF +950B02FE73C055BB10353DA73A25A6E38365B0DEF614B35507173F8D50508C07 +C3D07CA3382F12780D285F882BA433FF021A815380B3C0F16142BCFCB0BDFF7B +E01DB4582A7DA86602F8A6712A346941164F113D2691FCB96DFCCEEC226C3052 +784B1DCD80E20584997B037F581E422829E964D0244CC122EFAE87AE71CB2F9E +7DEA702C99C4FA29569650D150DD0895751A98C965E88764FEC259166FEE1E01 +2322B00834D35DF7500F95CA1A6230667CAF5C9DAD75C0236FE3F8DAED492D1A +AC9A77FD054D15A8F421C67966E5285F8F1A5F3081832718324C1645160BAE46 +7631243A007DEA8E5EC0B31F59AEBD54213F3B113E2C11192A6202BF726C609E +D7AB5FCE51A7BCFBEDC0953E78E669C27239380E74808EACEBE455152E0D20B3 +AD1521947D5035C0E1FEA838CE7A56C032275C12BC254934C49A519353E205CA +116E2E4EAC45278BE0BC8BE3D0668E0A818AAE007661A73CFBFE968C60E5923C +4D74BEA1587335CBB6770C6A319D0BB7F02DB3F01AC52ED574E006BC70E925D0 +97EBC2D8BBCA9E6719F26CFD5EA4BF25567B383C4627CC03490D9D1F95A18BC6 +7FEA0D5481CE6C856FCD37B8EF8FEAF0D3250CF4471ADEDC6073A5E003FD8602 +A890102EA5B9B94C845A4C3C77AED948C590E054B11B06DDFE55413E222308AC +DA972DE63E749FC0FC0548A91FA786359585078B7870002C54E27F81E360E965 +EE71DDC73025CFDB4089ADE1B259C00D2E6125E4C46995C638CCC0B98FE00F23 +A61B9DF8D38DFAEA0E2194AA27C74A1221688937B4AE747FD597244B5DC8BB3C +E8BC00BD0DE53D4A65DB275692F6BD0F99C7FFF99D5CA0394090A51EDBD8A75B +87D35EB07733862636D9E13A5D7CBD3B22FCC97710D52D157D7E5083E49381F4 +8D91CA4331B070A7D90C41D235056947C21C186A9110F31970DA20D2172ECA80 +B9B01B7C965CEA77C1B4C939133425FD0DE08055EB456F71072A77420EFDADAD +46E32BEEE986589FE9140678D83F1874B83D6F7C2D44CBF1A40B920A0FACEC2E +82A4A92EF9D32895C8E97BE6A743C75BA0DE734E669B051BE4443A084D04E679 +49B13B564C6F8C26E09A7F3B1B36A80C4AB6486111DD6B8BE2A73D3D96E8477D +FEF6703EC13578805F29F18D1AEFD56F4F6E6E786CE0636E87B7BBA3E49D58B1 +7F1DD67D7A514B14285BB3BB4CAFA2B493ED4A7990B413F8872EC4D06F43A07A +F7580AEEE11315D01E5E4483B5923B13CC62935561D3AE18D91ED0BF62FFEA21 +CD6FA372F614E4B9FDDDF8159C291DA08A694D9A81C05DA69D2E15CDB29A8A87 +D8C95EE615FF831C3CCDBA64EDA6CE6E1DB95C062E0DC3B301DB5CA1A9AABB6E +637D7DEF9E402CE90BAF65900FF480DBD9FE983FD3845737BB86DF197C087187 +657AAE6FF5F3091EFCBD689B +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +TeXDict begin 39139632 55387786 1000 600 600 (ru-refcard.dvi) +@start /Fa 242[71 13[{}1 66.4176 /CMSY8 rf /Fb 15[39 +1[35 8[31 39 1[35 18[55 85[37 37 51 37 39 27 28 27 1[39 +35 39 59 20 37 1[20 39 35 22 31 39 31 39 35 11[53 1[39 +2[48 55 53 65 2[36 25 1[55 46 48 1[51 50 53 55 1[55 1[55 +5[35 35 1[35 35 35 35 1[20 24 20 44[{T2AEncoding ReEncodeFont}55 +66.4176 /SFRM0800 rf /Fc 197[23 58[{}1 83.022 /CMMI10 +rf /Fd 145[42 3[23 106[{}2 83.022 /CMSY10 rf /Fe 141[35 +3[47 5[42 38 3[38 1[42 97[{T2AEncoding ReEncodeFont}6 +83.022 /SFTI1000 rf /Ff 50 72 1[48 69 57 78 1[53 53 50 +74 50 45 42 53 53 48 53 64 53 53 53 53 42 80 44 53 41 +48 48 46 106[53 6[53 7[29 44 53 54[32 45[{T2AEncoding ReEncodeFont}36 +83.022 /SFBX1000 rf /Fg 130[44 44 44 44 44 44 44 44 44 +44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 +44 44 44 44 1[44 44 44 3[44 2[44 44 44 1[44 2[44 44 4[44 +44 44 44 44 44 44 44 44 44 1[44 1[44 4[44 44 44 44 44 +44 44 44 44 44 44 44 44 44 44 1[44 44 44 44 44 11[44 +18[44 2[{T2AEncoding ReEncodeFont}75 83.022 /SFTT1000 +rf /Fh 69 2[66 95 1[108 108 73 73 69 102 69 62 58 73 +73 66 73 88 73 73 73 73 58 110 60 73 57 66 66 66 11[110 +99 91 95 90 103 1[103 125 1[103 1[103 80 4[93 93 77[52 +2[73 66 73 110 3[37 2[40 2[58 1[66 20[79 2[48 103 2[86 +11[66 66 66 66 66 66 66 66 66 66 3[37 2[51 51 40[{ +T2AEncoding ReEncodeFont}68 119.552 /SFBX1440 rf /Fi +45 62 37 42 60 51 67 67 46 46 44 65 44 42 37 46 46 42 +46 55 46 46 46 46 37 69 37 46 37 42 42 42 14[60 1[65 +1[65 2[65 4[56 65 1[59 72[44 44 2[46 32 33 33 44 46 42 +1[69 23 2[23 1[42 25 37 46 37 1[42 8[62 2[62 6[62 76 +52 3[62 65 1[56 63 9[23 42 2[42 42 42 42 42 42 2[23 28 +23 2[32 32 18[42 3[28 28 16[{T2AEncoding ReEncodeFont}82 +83.022 /SFRM1000 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi @@ -1315,98 +5099,96 @@ TeXDict begin end %%EndSetup %%Page: 1 1 -TeXDict begin 1 0 bop 1234 -45 a Fi -(\321\357\360\340\342\356\367\355\340\377)26 b(\352)n(\340\360\362)n -(\340)h(\357\356)g(GNU)i(Emacs)1583 55 y(\(\344\353\377)g -(\342\345\360\361\350\350)e(21\))-128 330 y Fh(1)132 +TeXDict begin 1 0 bop 1258 -45 a Fi +(\321\357\360\340\342\356\367\355\350\352)27 b(\352)n +(\356\354\340\355\344)g(GNU)h(Emacs)1583 55 y(\(\344\353\377)h +(\342\345\360\361\350\350)e(22\))-128 330 y Fh(1)132 b(\307\340\357\363)l(\361\352)45 b(Emacs)-128 511 y Fi(\304\353\377)28 -b(\347\340\357\363)n(\361\352)n(\340)e(GNU)i(Emacs)f(21,)g -(\357\360\356\361\362\356)g(\355\340\341\345\360\350\362\345)h -(\350\354\377)g(\357\360\356\343\360\340\354\354\373:)f -Fg(emacs)-128 611 y Fi(\316)h(\362\356\354,)g(\352)n(\340\352)f -(\356\362\352\360\373\342\340\362\374)g(\364\340\351\353\373,)g -(\367\350\362)n(\340\351\362\345)h(\344\340\353\345\345)f(\342)g -(\360\340\347\344\345\353\345)g(\324\340\351\353\373.)-128 -886 y Fh(2)132 b(\302\373\365)l(\356)l(\344)45 b(\350\347)f(Emacs)-78 -1065 y Fi(\317\360\350\356\361\362)n(\340\355\356\342\350\362\374)26 -b(\360\340\341\356\362\363)h(Emacs)g(\(\350\353\350)h -(\361\342\345\360\355\363\362\374)f(\342)g(\350\352)n(\356\355\352\363) -h(\357\360\350)g(\360\340\341\356\362\345)e(\342)h(X\))255 -b Fg(C-z)-78 1165 y Fi(\302\373\351\362\350)28 b(\350\347)g(Emacs)2307 -b Fg(C-x)42 b(C-c)-128 1410 y Fh(3)132 b(\324\340\351\353\373)-78 -1570 y Ff(\356\362\352\360\373\362\374)28 b Fi(\364\340\351\353)f(\342) -g(\341\363\364\345\360\345)f(Emacs)1717 b Fg(C-x)42 b(C-f)-78 -1670 y Ff(\361\356)m(\365\360\340\355\350\362\374)29 -b Fi(\364\340\351\353)e(\356\341\360\340\362\355\356)g(\355\340)g -(\344\350\361\352)1627 b Fg(C-x)42 b(C-s)-78 1770 y Fi(\361\356)n -(\365\360\340\355\350\362\374)27 b Ff(\342\361\345)g -Fi(\364\340\351\353\373)2104 b Fg(C-x)42 b(s)-78 1869 +b(\347\340\357\363)n(\361\352)n(\340)e(GNU)i(Emacs)f(22,)g +(\357\360\356\361\362\356)f(\355\340\341\345\360\350\362\345)h +(\350\354\377)h(\357\360\356\343\360\340\354\354\373:)f +Fg(emacs)-128 786 y Fh(2)132 b(\302\373\365)l(\356)l(\344)45 +b(\350\347)f(Emacs)-78 966 y Fi(\317\360\350\356\361\362)n +(\340\355\356\342\350\362\374)24 b(\360\340\341\356\362\363)i(Emacs)h +(\(\350\353\350)h(\361\342\345\360\355\363\362\374)e(\342)h(\350\352)n +(\356\355\352\363)h(\357\360\350)g(\360\340\341\356\362\345)d(\342)i +(X\))255 b Fg(C-z)-78 1065 y Fi(\302\373\351\362\350)27 +b(\350\347)h(Emacs)2307 b Fg(C-x)42 b(C-c)-128 1310 y +Fh(3)132 b(\324\340\351\353\373)-78 1471 y Ff +(\356\362\352\360\373\362\374)28 b Fi(\364\340\351\353)f(\342)g(Emacs) +2014 b Fg(C-x)42 b(C-f)-78 1570 y Ff(\361\356)m +(\365\360\340\355\350\362\374)29 b Fi(\364\340\351\353)e +(\356\341\360\340\362\355\356)f(\355\340)h(\344\350\361\352)1627 +b Fg(C-x)42 b(C-s)-78 1670 y Fi(\361\356)n +(\365\360\340\355\350\362\374)26 b Ff(\342\361\345)h +Fi(\364\340\351\353\373)2104 b Fg(C-x)42 b(s)-78 1770 y Ff(\342\361\362)m(\340\342\350\362\374)29 b Fi(\361\356)n (\344\345\360)n(\346\350\354\356\345)d(\344\360\363\343\356\343\356)h -(\364\340\351\353\340)f(\342)h(\362\345\352\363\371\350\351)h -(\341\363\364\345\360)809 b Fg(C-x)42 b(i)-78 1969 y -Fi(\356\362\352\360\373\362\374)28 b(\355\363\346\355\373\351)g -(\342\340\354)f(\364\340\351\353)g(\342\354\345\361\362\356)g -(\362\345\352\363\371\345\343\356)1226 b Fg(C-x)42 b(C-v)-78 -2068 y Fi(\361\356)n(\365\360\340\355\350\362\374)27 -b(\341\363\364\345\360)f(\342)h(\363\352)n +(\364\340\351\353\340)f(\342)h(\362\345\352\363\371\350\351)g +(\341\363\364\345\360)809 b Fg(C-x)42 b(i)-78 1869 y +Fi(\356\362\352\360\373\362\374)26 b(\355\363\346\355\373\351)i +(\342\340\354)f(\364\340\351\353)g(\342\354\345\361\362\356)f +(\362\345\352\363\371\345\343\356)1225 b Fg(C-x)42 b(C-v)-78 +1969 y Fi(\361\356)n(\365\360\340\355\350\362\374)26 +b(\341\363\364\345\360)g(\342)h(\363\352)n (\340\347\340\355\355\356\354)g(\364\340\351\353\345)1534 -b Fg(C-x)42 b(C-w)-78 2168 y Fi -(\302\352\353\376\367\350\362\374/\342\373\352\353\376\367\350\362\374) -28 b(\361\356\361\362\356)n(\377\355\350\345)f -(\341\363\364\345\360\340)f(\020\362\356\353\374\352)n(\356)g -(\344\353\377)i(\367\362\345\355\350\377\021)581 b Fg(C-x)42 -b(C-q)-128 2413 y Fh(4)132 b(\317\356\353\363\367\345\355\350\345)43 -b(\357\356\354\356\371\350)-128 2595 y Fi +b Fg(C-x)42 b(C-w)-78 2068 y Fi +(\317\345\360\345\352\353\376\367\350\362\374)27 b +(\361\356\361\362\356)n(\377\355\350\345)f(\341\363\364\345\360\340)g +(\020\362\356\353\374\352)n(\356)f(\344\353\377)j +(\367\362\345\355\350\377\021)927 b Fg(C-x)42 b(C-q)-128 +2314 y Fh(4)132 b(\317\356\353\363\367\345\355\350\345)43 +b(\357\356\354\356\371\350)-128 2496 y Fi (\321\357\360\340\342\356\367\355\340\377)19 b -(\361\350\361\362\345\354\340)i(\344\356\361\362)n -(\340\362\356\367\355\356)e(\357\360\356\361\362)n(\340.)h -(H\340\346\354\350\362\345)i Fg(C-h)d Fi(\(\350\353\350)i -Fg(F1)p Fi(\))f(\350)h(\361\353\345\344\363\351\362\345)g -(\350\355\361\362\360\363\352\366\350\377\354.)g(\305\361\353\350)h -(\342\373)d(\342)i(\357\345\360\342\373\351)-128 2695 -y(\360\340\347)28 b(\360\340\341\356\362)n(\340\345\362\345)e(\361)h -(Emacs,)h(\355\340\341\345\360\350\362\345)f Fg(C-u)43 -b(C-h)f(t)h(Russian)e(RET)26 b Fi(\344\353\377)i +(\361\350\361\362\345\354\340)h(\344\356\361\362)n +(\340\362\356\367\355\356)d(\357\360\356\361\362)n(\340.)i +(H\340\346\354\350\362\345)i Fg(C-h)e Fi(\(\350\353\350)i +Fg(F1)p Fi(\))f(\350)h(\361\353\345\344\363\351\362\345)f +(\350\355\361\362\360\363\352\366\350\377\354.)g(\305\361\353\350)i +(\342\373)d(\342)i(\357\345\360\342\373\351)-128 2595 +y(\360\340\347)28 b(\360\340\341\356\362)n(\340\345\362\345)c(\361)j +(Emacs,)h(\362\356)f(\355\340\341\345\360\350\362\345)f +Fg(C-u)42 b(C-h)g(t)i(Russian)c(RET)27 b Fi(\344\353\377)h (\342\373\347\356\342\340)d Ff(\363\367\345\341\355\350\352)m(\340)p -Fi(.)-78 2789 y(\307\340\352\360\373\362\374)i(\356\352\355\356)g -(\361\357\360\340\342\352\350)2072 b Fg(C-x)42 b(1)-78 -2889 y Fi(\317\360\356\352\360\363\362\350\362\374)28 -b(\356\352\355\356)f(\361\357\360\340\342\352\350)1940 -b Fg(C-M-v)-78 2988 y Fi(aprop)r(os:)26 b(\357\356\352)n -(\340\347\340\362\374)g(\352)n(\356\354\340\355\344\373,)h -(\361\356\356\362\342\345\362\361\362\342\363\376\371\350\345)g -(\361\362\360\356\352)n(\345)921 b Fg(C-h)42 b(a)-78 -3088 y Fi(\357\356\352)n(\340\347\340\362\374)26 b(\350\354\377)i -(\364\363\355\352\366\350\350,)g(\352)n(\356\362\356\360\340\377)f +Fi(.)-78 2689 y(\321\352\360\373\362\374)i(\356\352\355\356)g +(\361\357\360\340\342\352\350)2104 b Fg(C-x)42 b(1)-78 +2789 y Fi(\317\360\356\352\360\363\362\350\362\374)26 +b(\356\352\355\356)h(\361\357\360\340\342\352\350)1940 +b Fg(C-M-v)-78 2889 y Fi(aprop)r(os:)26 b(\357\356\352)n +(\340\347\340\362\374)f(\352)n(\356\354\340\355\344\373,)i +(\361\356\356\362\342\345\362\361\362\342\363\376\371\350\345)d +(\361\362\360\356\352)n(\345)920 b Fg(C-h)42 b(a)-78 +2988 y Fi(\357\356\352)n(\340\347\340\362\374)25 b(\350\354\377)j +(\364\363\355\352\366\350\350,)g(\352)n(\356\362\356\360\340\377)e (\347\340\357\363)n(\361\352)n(\340\345\362\361)n(\377)e -(\352\353\340\342\350\370\345\351)835 b Fg(C-h)42 b(c)-78 -3187 y Fi(\356\357\350\361\340\362\374)27 b -(\364\363\355\352\366\350\376)2257 b Fg(C-h)42 b(f)-78 -3287 y Fi(\357\356\353\363\367\350\362\374)28 b -(\350\355\364\356\360\354\340\366\350\376)f(\356)g -(\360\345\346\350\354\345)1672 b Fg(C-h)42 b(m)-128 3533 +(\352\353\340\342\350\370\345\351)835 b Fg(C-h)42 b(k)-78 +3088 y Fi(\357\356\353\363\367\350\362\374)27 b +(\350\355\364\356\360\354\340\366\350\376)g(\356)g +(\364\363\355\352\366\350\350)1623 b Fg(C-h)42 b(f)-78 +3187 y Fi(\357\356\353\363\367\350\362\374)27 b +(\350\355\364\356\360\354\340\366\350\376)g(\356)g +(\360\345\346\350\354\345)1672 b Fg(C-h)42 b(m)-128 3434 y Fh(5)132 b(\310\361\357\360\340\342\353\345\355\350\345)43 -b(\356\370\350\341\356\352)-78 3717 y Ff +b(\356\370\350\341\356\352)-78 3617 y Ff (\357\360\345\360\342\340\362\374)28 b Fi -(\367\340\361\362\350\367\355\356)f -(\355\340\341\360\340\355\355\363\376)g(\350\353\350)h +(\367\340\361\362\350\367\355\356)e +(\355\340\341\360\340\355\355\363\376)h(\350\353\350)h (\350\361\357\356\353\355\377\345\354\363\376)g(\352)n -(\356\354\340\355\344\363)682 b Fg(C-g)-78 3816 y Ff +(\356\354\340\355\344\363)682 b Fg(C-g)-78 3717 y Ff (\342\356\361\361\362)m(\340\355\356\342\350\362\374)29 -b Fi(\364\340\351\353,)e(\357\356\362\345\360)n(\377\355\355\373\351)g -(\357\360\350)h(\352\360\340\365)n(\345)f(\361\350\361\362\345\354\373) -895 b Fg(M-x)2857 3916 y(recover-file)-78 4016 y Ff +b Fi(\364\340\351\353,)e(\357\356\362\345\360)n(\377\355\355\373\351)f +(\357\360\350)i(\352\360\340\365)n(\345)f(\361\350\361\362\345\354\373) +894 b Fg(M-x)2857 3816 y(recover-file)-78 3916 y Ff (\356\362\354\345\355\350\362\374)27 b Fi(\355\345\346)n -(\345\353\340\362\345\353\374\355\373\345)g +(\345\353\340\362\345\353\374\355\373\345)f (\350\347\354\345\355\345\355\350\377)1502 b Fg(C-x)42 -b(u)h Fi(\350\353\350)h Fg(C-_)-78 4115 y Fi(\342\356\361\361\362)n -(\340\355\356\342\350\362\374)26 b(\341\363\364\345\360)g(\342)h -(\357\345\360\342\356\355\340)n(\367\340\353\374\355\356\345)e -(\361\356\361\362\356)n(\377\355\350\345)1086 b Fg(M-x)2857 -4215 y(revert-buffer)-78 4315 y Fi -(\357\345\360\345\360\350\361\356\342\340\362\374)27 -b(\347\340\357\356\353\355\345\355\355\373\351)g(\354\363)n +b(u,)h(C-_)2857 4016 y Fi(\350\353\350)g Fg(C-/)-78 4115 +y Fi(\342\356\361\361\362)n(\340\355\356\342\350\362\374)24 +b(\341\363\364\345\360)i(\342)h(\357\345\360\342\356\355\340)n +(\367\340\353\374\355\356\345)e(\361\356\361\362\356)n +(\377\355\350\345)1085 b Fg(M-x)2857 4215 y(revert-buffer)-78 +4315 y Fi(\357\345\360\345\360\350\361\356\342\340\362\374)26 +b(\347\340\357\356\353\355\345\355\355\373\351)h(\354\363)n (\361\356\360\356\354)f(\375\352\360\340\355)1321 b Fg(C-l)-128 4560 y Fh(6)132 b(H\340\360\340\371\350\342\340\345\354\373\351)41 b(\357\356\350\361\352)-78 4743 y Fi(\357\356\350\361\352)28 @@ -1414,50 +5196,50 @@ b(\342\357\345\360\345\344)2436 b Fg(C-s)-78 4843 y Fi (\357\356\350\361\352)28 b(\355\340\347\340\344)2477 b Fg(C-r)-78 4943 y Fi(\357\356\350\361\352)28 b(\357\356)f (\360\345\343\363)-5 b(\353\377\360\355\356\354\363)28 -b(\342\373\360\340\346)n(\345\355\350\376)1616 b Fg(C-M-s)-78 -5042 y Fi(\357\356\350\361\352)28 b(\357\356)f(\360\345\343\363)-5 -b(\353\377\360\355\356\354\363)28 b(\342\373\360\340\346)n -(\345\355\350\376)f(\355\340\347\340\344)1376 b Fg(C-M-r)-78 -5142 y Fi(\342\373\341\360\340\362\374)26 b -(\357\360\345\344\373\344\363\371\363\376)i(\361\362\360\356\352\363)g +b(\342\373\360\340\346)n(\345\355\350\376)f(\342\357\345\360\345\344) +1335 b Fg(C-M-s)-78 5042 y Fi(\357\356\350\361\352)28 +b(\357\356)f(\360\345\343\363)-5 b(\353\377\360\355\356\354\363)28 +b(\342\373\360\340\346)n(\345\355\350\376)f(\355\340\347\340\344)1376 +b Fg(C-M-r)-78 5142 y Fi(\342\373\341\360\340\362\374)25 +b(\357\360\345\344\373\344\363\371\363\376)j(\361\362\360\356\352\363)f (\357\356\350\361\352)n(\340)1527 b Fg(M-p)-78 5241 y -Fi(\342\373\341\360\340\362\374)26 b -(\361\353\345\344\363\376\371\363\376)i(\361\362\360\356\352\363)g +Fi(\342\373\341\360\340\362\374)25 b +(\361\353\345\344\363\376\371\363\376)j(\361\362\360\356\352\363)f (\357\356\350\361\352)n(\340)1580 b Fg(M-n)-78 5341 y -Fi(\357\360\345\352\360\340\362\350\362\374)28 b -(\355\340\360\340\371\350\342\340\345\354\373\351)f +Fi(\357\360\345\352\360\340\362\350\362\374)26 b +(\355\340\360\340\371\350\342\340\345\354\373\351)h (\357\356\350\361\352)1659 b Fg(RET)-78 5441 y Fi -(\356\362\354\345\355\350\362\374)28 b(\375\364\364\345\352\362)g -(\342\342\356)n(\344\340)d(\357\356\361\353\345\344\355\345\343\356)i +(\356\362\354\345\355\350\362\374)26 b(\375\364\364\345\352\362)h +(\342\342\356)n(\344\340)e(\357\356\361\353\345\344\355\345\343\356)i (\361\350\354\342\356\353\340)1248 b Fg(DEL)-78 5540 -y Fi(\357\360\345\360\342\340\362\374)27 b +y Fi(\357\360\345\360\342\340\362\374)26 b (\362\345\352\363\371\350\351)h(\357\356\350\361\352)1994 b Fg(C-g)-128 5636 y Fi(\304\353\377)26 b(\357\356\342\362\356\360\340) -f(\357\356\350\361\352)n(\340)f(\342)i(\353\376\341\356\354)f +e(\357\356\350\361\352)n(\340)g(\342)i(\353\376\341\356\354)f (\355\340\357\360\340\342\353\345\355\350\350)h -(\350\361\357\356\353\374\347\363\351\362\345)f -(\352\353\340\342\350\370\350)g Fg(C-s)g Fi(\350\353\350)h +(\350\361\357\356\353\374\347\363\351\362\345)e +(\352\353\340\342\350\370\350)h Fg(C-s)g Fi(\350\353\350)h Fg(C-r)p Fi(.)f(\305\361\353\350)h(Emacs)g(\342\361\345)f(\345\371\345) -h(\357\360\356\350\347-)-128 5736 y(\342\356)n(\344\350\362)i -(\357\356\350\361\352,)f Fg(C-g)f Fi(\356\362\354\345\355\350\362)j -(\362\356\353\374\352)n(\356)e(\355\345\361)n -(\344\345\353\340\355\355\363\376)g(\367\340\361\362\374.)1860 -6192 y(1)p eop end +h(\357\360\356\350\347-)-128 5736 y(\342\356)n(\344\350\362)h +(\357\356\350\361\352,)g Fg(C-g)f Fi(\356\362\354\345\355\350\362)h +(\362\356\353\374\352)n(\356)f(\355\345)h +(\342\373\357\356\353\355\345\355\355\363\376)g(\367\340\361\362\374.) +1860 6192 y(1)p eop end %%Page: 2 2 TeXDict begin 2 1 bop -128 -45 a Fh(7)132 b (\317\345\360\345\354\345\371\345\355\350\345)-78 139 y Ff(\345\344\350\355\350\366\373)32 b -(\357\345\360\345\354\345\371\345\355\350\377)1944 b +(\357\345\360\345\354\345\371\345\355\350\377)1945 b (\355\340\347\340\344)450 b(\342\357\345\360\345\344)-78 239 y Fi(\361\350\354\342\356\353)2667 b Fg(C-b)558 b(C-f)-78 338 y Fi(\361\353\356\342\356)2726 b Fg(M-b)558 b(M-f)-78 -438 y Fi(\361\362\360\356\352)n(\340)2683 b Fg(C-p)558 +438 y Fi(\361\362\360\356\352)n(\340)2682 b Fg(C-p)558 b(C-n)-78 537 y Fi(\355\340)n(\367\340\353\356)26 b(\(\350\353\350)j -(\352)n(\356\355\345\366\))e(\361\362\360\356\352\350)1916 +(\352)n(\356\355\345\366\))e(\361\362\360\356\352\350)1915 b Fg(C-a)558 b(C-e)-78 637 y Fi(\357\360\345\344\353\356)n(\346)n (\345\355\350\345)2441 b Fg(M-a)558 b(M-e)-78 737 y Fi (\340\341\347\340\366)2726 b Fg(M-{)558 b(M-})-78 836 -y Fi(\361\362\360\340\355\350\366\340)2589 b Fg(C-x)42 +y Fi(\361\362\360\340\355\350\366\340)2588 b Fg(C-x)42 b([)472 b(C-x)42 b(])-78 936 y Fi(\342\373\360\340\346)n (\345\355\350\345)27 b(\(sexp\))2261 b Fg(C-M-b)470 b(C-M-f)-78 1036 y Fi(\364\363\355\352\366\350\377)2597 b Fg(C-M-a)470 @@ -1465,389 +5247,393 @@ b(C-M-e)-78 1135 y Fi(\357\345\360\345\365)n(\356)n(\344)27 b(\342)g(\355\340)n(\367\340\353\356)f(\(\350\353\350)i(\352)n (\356\355\345\366\))g(\341\363\364\345\360\340)1508 b Fg(M-<)558 b(M->)-78 1243 y Fi(\357\360\356\352\360\363\362\352)n(\340) -27 b(\375\352\360\340\355\340)g(\342\355\350\347)2054 -b Fg(C-v)-78 1343 y Fi(\357\360\356\352\360\363\362\352)n(\340)27 -b(\375\352\360\340\355\340)g(\342\342\345\360)n(\365)2016 -b Fg(M-v)-78 1442 y Fi(\357\360\356\352\360\363\362\352)n(\340)27 +26 b(\375\352\360\340\355\340)h(\342\355\350\347)2054 +b Fg(C-v)-78 1343 y Fi(\357\360\356\352\360\363\362\352)n(\340)26 +b(\375\352\360\340\355\340)h(\342\342\345\360)n(\365)2016 +b Fg(M-v)-78 1442 y Fi(\357\360\356\352\360\363\362\352)n(\340)26 b(\342\353\345\342\356)2302 b Fg(C-x)42 b(<)-78 1542 -y Fi(\357\360\356\352\360\363\362\352)n(\340)27 b +y Fi(\357\360\356\352\360\363\362\352)n(\340)26 b (\342\357\360\340\342\356)2251 b Fg(C-x)42 b(>)-78 1642 -y Fi(\357\360\356\352\360\363\362\352)n(\340)27 b -(\362\345\352\363\371\345\351)h(\361\362\360\356\352\350)g(\342)f -(\366\345\355\362\360)i(\375\352\360\340\355\340)1306 +y Fi(\363)n(\361\362)n(\340\355\356\342\352)n(\340)24 +b(\362\345\352\363\371\345\351)j(\361\362\360\356\352\350)g(\342)g +(\366\345\355\362\360)h(\375\352\360\340\355\340)1329 b Fg(C-u)42 b(C-l)-128 1887 y Fh(8)132 b(\323\355\350\367\362\356)l (\346)l(\345\355\350\345)44 b(\350)g(\363)-7 b (\344\340\353\345\355\350\345)-78 2070 y Ff(\363\355\350\367\362\356)m -(\346)m(\340\345\354\373\351)33 b(\356\341\372\345\352\362)1956 +(\346)m(\340\345\354\373\351)32 b(\356\341\372\345\352\362)1956 b(\355\340\347\340\344)450 b(\342\357\345\360\345\344)-78 2170 y Fi(\361\350\354\342\356\353)27 b(\(\363)-5 b (\344\340\353\345\355\350\345,)28 b(\340)f(\355\345)h -(\363\355\350\367\362\356)n(\346)n(\345\355\350\345\))1510 +(\363\355\350\367\362\356)n(\346)n(\345\355\350\345\))1509 b Fg(DEL)558 b(C-d)-78 2270 y Fi(\361\353\356\342\356)2726 -b Fg(M-DEL)470 b(M-d)-78 2369 y Fi(\361\362\360\356\352)n(\340)27 -b(\(\344\356)h(\352)n(\356\355\366\340)e(\361\362\360\356\352\350\)) -1972 b Fg(M-0)42 b(C-k)384 b(C-k)-78 2469 y Fi +b Fg(M-DEL)470 b(M-d)-78 2369 y Fi(\361\362\360\356\352)n(\340)26 +b(\(\344\356)i(\352)n(\356\355\366\340)e(\361\362\360\356\352\350\)) +1971 b Fg(M-0)42 b(C-k)384 b(C-k)-78 2469 y Fi (\357\360\345\344\353\356)n(\346)n(\345\355\350\345)2441 b Fg(C-x)42 b(DEL)384 b(M-k)-78 2569 y Fi(\342\373\360\340\346)n (\345\355\350\345)2512 b Fg(M\025)42 b(C-M-k)340 b(C-M-k)-78 -2676 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)28 +2676 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)26 b Ff(\356\341\353\340\361\362\374)2116 b Fg(C-w)-78 2776 -y Fi(\361\352)n(\356\357\350\360\356\342\340\362\374)26 -b(\356\341\353\340\361\362\374)g(\342)h(\361\357\350\361\356\352)h -(\363\355\350\367\362\356)n(\346)n(\345\355\350\351)1265 -b Fg(M-w)-78 2876 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)28 -b(\344\356)f(\361\353\345\344\363\376\371\345\343\356)g(\342\365)n +y Fi(\361\352)n(\356\357\350\360\356\342\340\362\374)25 +b(\356\341\353\340\361\362\374)g(\342)i(\361\357\350\361\356\352)h +(\363\355\350\367\362\356)n(\346)n(\345\355\350\351)1264 +b Fg(M-w)-78 2876 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)26 +b(\344\356)h(\361\353\345\344\363\376\371\345\343\356)g(\342\365)n (\356)n(\346\344\345\355\350\377)f(\361\350\354\342\356\353\340)h Fe(char)916 b Fg(M-z)42 b Fe(char)-78 2975 y Fi(\342\361\362)n -(\340\342\350\362\374)27 b(\357\356\361\353\345\344\355\350\351)g -(\363\355\350\367\362\356)n(\346)n(\345\355\355\373\351)h -(\356\341\372\345\352\362)1306 b Fg(C-y)-78 3075 y Fi -(\347\340\354\345\355\350\362\374)24 b(\362\356\353\374\352)n(\356)e +(\340\342\350\362\374)25 b(\357\356\361\353\345\344\355\350\351)i +(\363\355\350\367\362\356)n(\346)n(\345\355\355\373\351)g +(\356\341\372\345\352\362)1305 b Fg(C-y)-78 3075 y Fi +(\347\340\354\345\355\350\362\374)23 b(\362\356\353\374\352)n(\356)e (\367\362\356)i(\342\356\361\361\362)n -(\340\355\356\342\353\345\355\355\373\351)d(\362\345\352)n(\361\362)k -(\357\360\345\344\370\345\361\362\342\363\376\371\350\354)f +(\340\355\356\342\353\345\355\355\373\351)d(\362\345\352)n(\361\362)j +(\357\360\345\344\370\345\361\362\342\363\376\371\350\354)g (\363\355\350\367\362\356)n(\346)n(\345\355-)-78 3175 -y(\355\373\354)k(\362\345\352)n(\361\362\356\354)2857 +y(\355\373\354)28 b(\362\345\352)n(\361\362\356\354)2857 3075 y(M-y)-128 3420 y Fh(9)132 b(\317\356\354\345\362\352)l(\340)-78 -3580 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)26 -b(\357\356\354\345\362\352\350)2177 b Fg(C-@)42 b Fi(or)g -Fg(C-SPC)-78 3680 y Fi(\356\341\354\345\355\377\362\374)27 -b(\354\345\361\362)n(\340\354\350)h(\352\363\360\361\356\360)f(\350)h -(\357\356\354\345\362\352\363)1546 b Fg(C-x)42 b(C-x)-78 -3779 y Fi(\357\356\354\345\362\350\362\374)28 b Fe(ar)l(g)36 +3580 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)24 +b(\357\356\354\345\362\352\350)2176 b Fg(C-@)42 b Fi(\350\353\350)i +Fg(C-SPC)-78 3680 y Fi(\357\356\354\345\355\377\362\374)27 +b(\354\345\361\362)n(\340\354\350)g(\352\363\360\361\356\360)g(\350)h +(\357\356\354\345\362\352\363)1540 b Fg(C-x)42 b(C-x)-78 +3779 y Fi(\357\356\354\345\362\350\362\374)26 b Fe(ar)l(g)36 b Ff(\361\353\356\342)2219 b Fg(M-@)-78 3879 y Fi -(\357\356\354\345\362\350\362\374)28 b Ff -(\357\340\360\340\343\360\340\364)2144 b Fg(M-h)-78 3979 -y Fi(\357\356\354\345\362\350\362\374)28 b Ff +(\357\356\354\345\362\350\362\374)26 b Ff +(\357\340\360\340\343\360\340\364)2145 b Fg(M-h)-78 3979 +y Fi(\357\356\354\345\362\350\362\374)26 b Ff (\361\362\360\340\355\350\366\363)2162 b Fg(C-x)42 b(C-p)-78 -4078 y Fi(\357\356\354\345\362\350\362\374)28 b Ff -(\342\373\360\340\346)m(\345\355\350\345)2071 b Fg(C-M-@)-78 -4178 y Fi(\357\356\354\345\362\350\362\374)28 b Ff -(\364\363\355\352\366\350\376)2148 b Fg(C-M-h)-78 4277 -y Fi(\357\356\354\345\362\350\362\374)28 b(\342\345\361\374)f -Ff(\341\363\364\345\360)2102 b Fg(C-x)42 b(h)-128 4523 +4078 y Fi(\357\356\354\345\362\350\362\374)26 b Ff +(\342\373\360\340\346)m(\345\355\350\345)2070 b Fg(C-M-@)-78 +4178 y Fi(\357\356\354\345\362\350\362\374)26 b Ff +(\364\363\355\352\366\350\376)2149 b Fg(C-M-h)-78 4277 +y Fi(\357\356\354\345\362\350\362\374)26 b(\342\345\361\374)h +Ff(\341\363\364\345\360)2103 b Fg(C-x)42 b(h)-128 4523 y Fh(10)131 b(\307\340\354\345\355\340)44 b(\361)g (\347\340\357\360\356\361\356\354)-78 4706 y Fi -(\350\355\362\345\360\340\352\362\350\342\355\340\377)28 -b(\347\340\354\345\355\340)f(\362\345\352)n(\361\362\356\342\356\351)g -(\361\362\360\356\352\350)1398 b Fg(M-\045)-78 4806 y +(\350\355\362\345\360\340\352\362\350\342\355\340\377)26 +b(\347\340\354\345\355\340)h(\362\345\352)n(\361\362\356\342\356\351)e +(\361\362\360\356\352\350)1397 b Fg(M-\045)-78 4806 y Fi(\361)28 b(\350\361\357\356\353\374\347\356\342\340\355\350\345\354)e (\360\345\343\363)-5 b(\353\377\360\355\373\365)27 b (\342\373\360\340\346)n(\345\355\350\351)1333 b Fg(M-x)42 b(query-replace-r)o(ege)o(xp)-128 4901 y Fi(\302)28 b (\360\345\346\350\354\345)g -(\350\355\362\345\360\340\352\362\350\342\355\356\351)g -(\347\340\354\345\355\373)f -(\357\356\353\374\347\356\342\340\362\345\353\376)f +(\350\355\362\345\360\340\352\362\350\342\355\356\351)e +(\347\340\354\345\355\373)h +(\357\356\353\374\347\356\342\340\362\345\353\376)e (\344\356\361\362\363\357\355\373)i -(\361\353\345\344\363\376\371\350\345)g(\356\362\342\345\362\373:)-78 -4995 y Ff(\347\340\354\345\355\350\362\374)g Fi -(\344\340\355\355\356\345)f -(\361\356\356\362\342\345\362\361\362\342\350\345,)g -(\357\345\360\345\351\362\350)h(\352)g +(\361\353\345\344\363\376\371\350\345)h(\352)n +(\356\354\340\355\344\373:)-78 4995 y Ff +(\347\340\354\345\355\350\362\374)g Fi(\344\340\355\355\356\345)f +(\361\356\356\362\342\345\362\361\362\342\350\345,)d +(\357\345\360\345\351\362\350)j(\352)h (\361\353\345\344\363\376\371\345\354\363)815 b Fg(SPC)-78 -5095 y Fi(\347\340\354\345\355\350\362\374)28 b(\375\362\356)f -(\361\356\356\362\342\345\362\361\362\342\350\345,)g(\355\345)h -(\357\345\360\345\354\345\371\340\362\374\361)n(\377)1238 +5095 y Fi(\347\340\354\345\355\350\362\374)27 b(\375\362\356)f +(\361\356\356\362\342\345\362\361\362\342\350\345,)e(\355\345)k +(\357\345\360\345\354\345\371\340\362\374\361)n(\377)1237 b Fg(,)-78 5194 y Ff(\357\360\356\357\363)m(\361\362\350\362\374)29 -b Fi(\361\356\356\362\342\345\362\361\362\342\350\345)e(\341\345\347)g -(\347\340\354\345\355\373)1487 b Fg(DEL)-78 5294 y Fi -(\347\340\354\345\355\350\362\374)28 b(\342\361\345)f(\356\361\362)n -(\340\342\370\350\345\361)n(\377)e -(\361\356\356\362\342\345\362\361\362\342\350\377)1468 +b Fi(\361\356\356\362\342\345\362\361\362\342\350\345)24 +b(\341\345\347)j(\347\340\354\345\355\373)1487 b Fg(DEL)-78 +5294 y Fi(\347\340\354\345\355\350\362\374)27 b(\342\361\345)g +(\356\361\362)n(\340\342\370\350\345\361)n(\377)d +(\361\356\356\362\342\345\362\361\362\342\350\377)1465 b Fg(!)-78 5393 y Ff(\342\345\360\355\363\362\374\361)m(\377)29 b Fi(\352)f(\357\360\345\344\373\344\363\371\345\354\363)f -(\361\356\356\362\342\345\362\361\362\342\350\376)1337 +(\361\356\356\362\342\345\362\361\362\342\350\376)1334 b Fg(\002)-78 5493 y Ff(\342\373\351\362\350)28 b Fi(\350\347)g -(\360\345\346\350\354\340)f(\347\340\354\345\355\340)g(\361)h -(\347\340\357\360\356\361\356\354)1508 b Fg(RET)-78 5593 -y Fi(\342\356\351\362\350)38 b(\342)g(\360\345\346\350\354)h +(\360\345\346\350\354\340)f(\020\347\340\354\345\355\340)g(\361)g +(\347\340\357\360\356\361\356\354\021)1453 b Fg(RET)-78 +5593 y Fi(\342\356\351\362\350)37 b(\342)h(\360\345\346\350\354)h (\360\345\352\363\360\361\350\342\355\356\343\356)d -(\360\345\344\340\352\362\350\360\356\342\340\355\350\377)i -(\(\344\353\377)g(\342\373\365)n(\356)n(\344\340)e +(\360\345\344\340\352\362\350\360\356\342\340\355\350\377)h +(\(\344\353\377)h(\342\373\365)n(\356)n(\344\340)e (\350\361\357\356\353\374\347\363)n(\345\362\361)n(\377)-78 5692 y Fg(C-M-c)p Fi(\))2857 5593 y Fg(C-r)1860 6192 y Fi(2)p eop end %%Page: 3 3 -TeXDict begin 3 2 bop -128 -45 a Fh(11)131 b(\314\355\356)l(\346)l -(\345\361\362\342\356)44 b(\356\352)l(\356\355)-128 137 -y Fi(\312\356\354\340\355\344\373,)27 b -(\357\360\350\342\345\344\345\355\355\373\345)h(\342\356)e -(\342\362\356\360\356\354)h(\361\362\356\353\341\366\345,)h -(\357\360\350\354\345\355\377\376\362\361)n(\377)g(\352)g -(\344\360\363\343\356\354\363)f -(\(\355\345\340\352\362\350\342\355\356\354\363\))h(\356\352\355\363)-7 -b(.)-78 236 y(\363)i(\344\340\353\350\362\374)28 b(\342\361\345)f -(\356\361\362)n(\340\353\374\355\373\345)f(\356\352\355\340)1869 -b Fg(C-x)42 b(1)-78 344 y Fi(\360\340\347\341\350\362\374)27 -b(\356\352\355\356)g(\357\356)g(\343\356\360\350\347\356\355\362)n -(\340\353\350)1825 b Fg(C-x)42 b(2)472 b(C-x)42 b(5)h(2)-78 -444 y Fi(\363)-5 b(\344\340\353\350\362\374)28 b -(\344\340\355\355\356\345)f(\356\352\355\356)2143 b Fg(C-x)42 -b(0)472 b(C-x)42 b(5)h(0)-78 543 y Fi(\360\340\347\341\350\362\374)27 -b(\356\352\355\356)g(\357\356)g(\342\345\360\362\350\352)n -(\340\353\350)1904 b Fg(C-x)42 b(3)-78 643 y Fi -(\342\373\357\356\353\355\350\362\374)27 b -(\357\360\356\352\360\363\362\352\363)h(\342)f +TeXDict begin 3 2 bop -128 -45 a Fh(11)131 b +(\310\361\357\356\353\374\347\356\342\340\355\350\345)44 +b(\355\345\361\352)l(\356\353\374\352\350\365)g(\356\352)l(\356\355) +-128 137 y Fi(\312\356\354\340\355\344\373,)26 b +(\357\360\350\342\345\344\345\355\355\373\345)h(\342\356)f +(\342\362\356\360\356\354)f(\361\362\356\353\341\366\345,)g +(\357\360\350\354\345\355\377\376\362\361)n(\377)i(\352)g +(\344\360\363\343\356\354\363)f(\364\360\375\351\354\363)h +(\(\356\352\355\363)f(\350\361\357\356\353\374\347\363)n +(\345\354\356\351)g(\356\352)n(\356\355\355\356\351)-128 +237 y(\361\350\361\362\345\354\373\).)-78 336 y(\363)-5 +b(\344\340\353\350\362\374)27 b(\342\361\345)g(\356\361\362)n +(\340\353\374\355\373\345)e(\356\352\355\340)1869 b Fg(C-x)42 +b(1)-78 444 y Fi(\360\340\347\341\350\362\374)26 b(\356\352\355\356)h +(\357\356)g(\343\356\360\350\347\356\355\362)n(\340\353\350)1824 +b Fg(C-x)42 b(2)472 b(C-x)42 b(5)h(2)-78 543 y Fi(\363)-5 +b(\344\340\353\350\362\374)27 b(\344\340\355\355\356\345)g +(\356\352\355\356)2143 b Fg(C-x)42 b(0)472 b(C-x)42 b(5)h(0)-78 +643 y Fi(\360\340\347\341\350\362\374)26 b(\356\352\355\356)h(\357\356) +g(\342\345\360\362\350\352)n(\340\353\350)1903 b Fg(C-x)42 +b(3)-78 743 y Fi(\342\373\357\356\353\355\350\362\374)26 +b(\357\360\356\352\360\363\362\352\363)h(\342)g (\344\360\363\343\356\354)h(\356\352\355\345)1530 b Fg(C-M-v)-78 -751 y Fi(\357\345\360\345\354\345\361\362\350\362\374)29 -b(\352\363\360\361\356\360)e(\342)g(\344\360\363\343\356\345)g +850 y Fi(\357\345\360\345\354\345\361\362\350\362\374)27 +b(\352\363\360\361\356\360)g(\342)g(\344\360\363\343\356\345)g (\356\352\355\356)1629 b Fg(C-x)42 b(o)472 b(C-x)42 b(5)h(o)-78 -850 y Fi(\342\373\341\360\340\362\374)26 b(\341\363\364\345\360)h(\342) +950 y Fi(\342\373\341\360\340\362\374)25 b(\341\363\364\345\360)i(\342) g(\344\360\363\343\356\354)h(\356\352\355\345)1795 b -Fg(C-x)42 b(4)h(b)385 b(C-x)42 b(5)h(b)-78 950 y Fi(\357\356\352)n -(\340\347\340\362\374)26 b(\341\363\364\345\360)h(\342)g +Fg(C-x)42 b(4)h(b)385 b(C-x)42 b(5)h(b)-78 1050 y Fi(\357\356\352)n +(\340\347\340\362\374)25 b(\341\363\364\345\360)i(\342)g (\344\360\363\343\356\354)g(\356\352\355\345)1775 b Fg(C-x)42 -b(4)h(C-o)297 b(C-x)42 b(5)h(C-o)-78 1050 y Fi -(\347\340\343\360\363\347\350\362\374)27 b(\364\340\351\353)g(\342)g +b(4)h(C-o)297 b(C-x)42 b(5)h(C-o)-78 1149 y Fi +(\347\340\343\360\363\347\350\362\374)26 b(\364\340\351\353)h(\342)g (\344\360\363\343\356\345)g(\356\352\355\356)1786 b Fg(C-x)42 -b(4)h(f)385 b(C-x)42 b(5)h(f)-78 1149 y Fi -(\356\362\352\360\373\362\374)28 b(\364\340\351\353)f(\342)g -(\360\345\346\350\354\345)h(\367\362\345\355\350\377)h(\342)e +b(4)h(f)385 b(C-x)42 b(5)h(f)-78 1249 y Fi +(\356\362\352\360\373\362\374)26 b(\364\340\351\353)h(\342)g +(\360\345\346\350\354\345)h(\367\362\345\355\350\377)g(\342)f (\344\360\363\343\356\354)g(\356\352\355\345)1149 b Fg(C-x)42 -b(4)h(r)385 b(C-x)42 b(5)h(r)-78 1249 y Fi(\347\340\357\363)n -(\361\362\350\362\374)27 b(Dired)h(\342)f(\344\360\363\343\356\354)h +b(4)h(r)385 b(C-x)42 b(5)h(r)-78 1349 y Fi(\347\340\357\363)n +(\361\362\350\362\374)25 b(Dired)j(\342)f(\344\360\363\343\356\354)h (\356\352\355\345)1766 b Fg(C-x)42 b(4)h(d)385 b(C-x)42 -b(5)h(d)-78 1349 y Fi(\355\340\351\362\350)28 b(\362)n(\340\343)g(\342) -f(\344\360\363\343\356\354)g(\356\352\355\345)2003 b -Fg(C-x)42 b(4)h(.)385 b(C-x)42 b(5)h(.)-78 1457 y Fi -(\363\342\345\353\350\367\350\362\374)28 b(\342\373\361\356\362\363)e -(\356\352\355\340)2049 b Fg(C-x)42 b(\002)-78 1556 y -Fi(\361\363\347\350\362\374)28 b(\362\345\352\363\371\345\345)f -(\356\352\355\356)2148 b Fg(C-x)42 b({)-78 1656 y Fi -(\360\340\361\370\350\360\350\362\374)28 b +b(5)h(d)-78 1448 y Fi(\355\340\351\362\350)27 b(\362)n(\340\343)g(\342) +g(\344\360\363\343\356\354)g(\356\352\355\345)2003 b +Fg(C-x)42 b(4)h(.)385 b(C-x)42 b(5)h(.)-78 1556 y Fi +(\363\342\345\353\350\367\350\362\374)27 b(\342\373\361\356\362\363)e +(\356\352\355\340)2049 b Fg(C-x)42 b(\002)-78 1656 y +Fi(\361\363\347\350\362\374)27 b(\362\345\352\363\371\345\345)f +(\356\352\355\356)2148 b Fg(C-x)42 b({)-78 1755 y Fi +(\360\340\361\370\350\360\350\362\374)27 b (\362\345\352\363\371\345\345)f(\356\352\355\356)1982 -b Fg(C-x)42 b(})-128 1901 y Fh(12)131 b +b Fg(C-x)42 b(})-128 2001 y Fh(12)131 b (\324\356\360\354\340\362\350\360\356\342\340\355\350\345)-78 -2085 y Fi(\361)n(\344\345\353\340\362\374)27 b -(\356\362\361\362\363\357)h(\344\353\377)g -(\362\345\352\363\371\345\351)g Ff(\361\362\360\356\352\350)g -Fi(\(\342)f(\347\340\342\350\361\350\354\356\361\362\350)g(\356\362)h -(\360\345\346\350\354\340\))470 b Fg(TAB)-78 2184 y Fi(\361)n -(\344\345\353\340\362\374)27 b(\356\362\361\362\363\357)h(\344\353\377) -g Ff(\356\341\353\340\361\362\350)g Fi(\(\342)g -(\347\340\342\350\361\350\354\356\361\362\350)f(\356\362)g +2184 y Fi(\361)n(\344\345\353\340\362\374)26 b +(\356\362\361\362\363\357)g(\344\353\377)i +(\362\345\352\363\371\345\351)f Ff(\361\362\360\356\352\350)h +Fi(\(\342)f(\347\340\342\350\361\350\354\356\361\362\350)f(\356\362)h +(\360\345\346\350\354\340\))470 b Fg(TAB)-78 2284 y Fi(\361)n +(\344\345\353\340\362\374)26 b(\356\362\361\362\363\357)g(\344\353\377) +i Ff(\356\341\353\340\361\362\350)g Fi(\(\342)g +(\347\340\342\350\361\350\354\356\361\362\350)e(\356\362)g (\360\345\346\350\354\340\))775 b Fg(C-M-)p Fd(n)-78 -2284 y Fi(\361)n(\344\345\353\340\362\374)27 b -(\356\362\361\362\363\357)h(\344\353\377)g Ff(\342\373\360\340\346)m -(\345\355\350\377)h Fi(\(\342)e -(\347\340\342\350\361\350\354\356\361\362\350)g(\356\362)h -(\360\345\346\350\354\340\))617 b Fg(C-M-q)-78 2383 y -Fi(\361)n(\344\345\353\340\362\374)27 b(\356\362\361\362\363\357)h -(\352)g(\347\340\344\340\355\355\356\351)e Fe(ar)l(g)36 +2383 y Fi(\361)n(\344\345\353\340\362\374)26 b +(\356\362\361\362\363\357)g(\344\353\377)i Ff(\342\373\360\340\346)m +(\345\355\350\377)g Fi(\(\342)f +(\347\340\342\350\361\350\354\356\361\362\350)f(\356\362)h +(\360\345\346\350\354\340\))617 b Fg(C-M-q)-78 2483 y +Fi(\361)n(\344\345\353\340\362\374)26 b(\356\362\361\362\363\357)g +(\352)i(\347\340\344\340\355\355\356\351)e Fe(ar)l(g)36 b Fi(\352)n(\356\353\356\355\352)n(\345)1445 b Fg(C-x)42 -b(TAB)-78 2483 y Fi(\342\361\362)n(\340\342\350\362\374)27 -b(\355\356\342\363\376)f(\361\362\360\356\352\363)i -(\357\356\361\353\345)f(\352\363\360\361\356\360\340)1493 -b Fg(C-o)-78 2583 y Fi(\361)n(\344\342\350\355\363\362\374)27 -b(\356\361\362)n(\340\362\356\352)g(\361\362\360\356\352\350)h +b(TAB)-78 2583 y Fi(\342\361\362)n(\340\342\350\362\374)25 +b(\355\356\342\363\376)h(\361\362\360\356\352\363)h +(\357\356\361\353\345)g(\352\363\360\361\356\360\340)1493 +b Fg(C-o)-78 2682 y Fi(\361)n(\344\342\350\355\363\362\374)26 +b(\356\361\362)n(\340\362\356\352)f(\361\362\360\356\352\350)i (\342\345\360\362\350\352)n(\340\353\374\355\356)e(\342\355\350\347) -1293 b Fg(C-M-o)-78 2682 y Fi(\363)-5 b(\344\340\353\350\362\374)28 +1293 b Fg(C-M-o)-78 2782 y Fi(\363)-5 b(\344\340\353\350\362\374)27 b(\357\363)n(\361\362\373\345)f(\361\362\360\356\352\350)h -(\342\356\352\360\363\343)f(\352\363\360\361\356\360\340)1442 -b Fg(C-x)42 b(C-o)-78 2782 y Fi -(\356\341\372\345\344\350\355\350\362\374)27 b -(\361\362\360\356\352\363)h(\361)f +(\342\356\352\360\363\343)g(\352\363\360\361\356\360\340)1442 +b Fg(C-x)42 b(C-o)-78 2882 y Fi +(\356\341\372\345\344\350\355\350\362\374)26 b +(\361\362\360\356\352\363)h(\361)g (\357\360\345\344\373\344\363\371\345\351)h(\(\361\356)f (\361\353\345\344\363\376\371\350\354\350)h(arg\))817 -b Fg(M-\002)-78 2882 y Fi(\363)-5 b(\344\340\353\350\362\374)28 +b Fg(M-\002)-78 2981 y Fi(\363)-5 b(\344\340\353\350\362\374)27 b(\357\363)n(\361\362\356\345)f -(\357\360\356\361\362\360\340\355\361\362\342\356)g -(\342\356\352\360\363\343)g(\352\363\360\361\356\360\340)1211 -b Fg(M-)p Fd(n)-78 2981 y Fi(\357\356\354\345\361\362\350\362\374)28 -b(\362\356\353\374\352)n(\356)f(\356)n(\344\350\355)g +(\357\360\356\361\362\360\340\355\361\362\342\356)f +(\342\356\352\360\363\343)i(\352\363\360\361\356\360\340)1211 +b Fg(M-)p Fd(n)-78 3081 y Fi(\357\356\354\345\361\362\350\362\374)26 +b(\362\356\353\374\352)n(\356)g(\356)n(\344\350\355)h (\357\360\356\341\345\353)g(\342)g(\357\356\347\350\366\350\350)h -(\352\363\360\361\356\360\340)1036 b Fg(M-SPC)-78 3081 -y Fi(\347\340\357\356\353\355\350\362\374)27 b -(\362\345\352\363\371\350\351)h(\357\340\360\340\343\360\340\364)1799 -b Fg(M-q)-78 3180 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374) -26 b(\361\362\356\353\341\345\366)h +(\352\363\360\361\356\360\340)1036 b Fg(M-SPC)-78 3180 +y Fi(\356\362\364\356\360\354\340\362\350\360\356\342\340\362\374)23 +b(\362\345\352\363\371\350\351)k(\357\340\360\340\343\360\340\364)1513 +b Fg(M-q)-78 3280 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374) +24 b(\361\362\356\353\341\345\366)i (\347\340\357\356\353\355\345\355\350\377)1739 b Fg(C-x)42 -b(f)-78 3280 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)26 -b(\357\360\345\364\350\352)n(\361)h +b(f)-78 3380 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)24 +b(\357\360\345\364\350\352)n(\361)j (\347\340\357\356\353\355\345\355\350\377)g(\352)n -(\340\346\344\356\351)g(\361\362\360\356\352\350)1108 -b Fg(C-x)42 b(.)-78 3380 y Fi(\363)n(\361\362)n -(\340\355\356\342\350\362\374)26 b(\355\340)n(\367\345\360\362)n -(\340\355\350\345)2065 b Fg(M-g)-128 3625 y Fh(13)131 -b(\310\347\354\345\355\345\355\350\345)44 b -(\360\345\343\350\361\362\360\340)-78 3808 y Fi(\361)n -(\344\345\353\340\362\374)27 b(\341\363\352\342\373)g +(\340\346\344\356\351)g(\361\362\360\356\352\350)1107 +b Fg(C-x)42 b(.)-78 3479 y Fi(\363)n(\361\362)n +(\340\355\356\342\350\362\374)24 b(\355\340)n(\367\345\360\362)n +(\340\355\350\345)i(\(face\))1833 b Fg(M-g)-128 3725 +y Fh(13)131 b(\310\347\354\345\355\345\355\350\345)44 +b(\360\345\343\350\361\362\360\340)-78 3908 y Fi(\361)n +(\344\345\353\340\362\374)26 b(\341\363\352\342\373)h (\361\353\356\342\340)f(\347\340\343)n(\353\340\342\355\373\354\350) -1672 b Fg(M-u)-78 3908 y Fi(\361)n(\344\345\353\340\362\374)27 -b(\341\363\352\342\373)g(\361\353\356\342\340)f -(\361\362\360\356\367\355\373\354\350)1704 b Fg(M-l)-78 -4008 y Fi(\361)n(\344\345\353\340\362\374)27 b -(\357\345\360\342\363\376)g(\341\363\352\342\363)g +1672 b Fg(M-u)-78 4008 y Fi(\361)n(\344\345\353\340\362\374)26 +b(\341\363\352\342\373)h(\361\353\356\342\340)f +(\361\362\360\356\367\355\373\354\350)1703 b Fg(M-l)-78 +4107 y Fi(\361)n(\344\345\353\340\362\374)26 b +(\357\345\360\342\363\376)h(\341\363\352\342\363)g (\361\353\356\342\340)f(\347\340\343)n(\353\340\342\355\356\351)1457 -b Fg(M-c)-78 4107 y Fi(\361)n(\344\345\353\340\362\374)27 -b(\341\363\352\342\373)g(\356\341\353\340\361\362\350)f(\347\340\343)n +b Fg(M-c)-78 4207 y Fi(\361)n(\344\345\353\340\362\374)26 +b(\341\363\352\342\373)h(\356\341\353\340\361\362\350)e(\347\340\343)n (\353\340\342\355\373\354\350)1585 b Fg(C-x)42 b(C-u)-78 -4207 y Fi(\361)n(\344\345\353\340\362\374)27 b(\341\363\352\342\373)g -(\356\341\353\340\361\362\350)f(\361\362\360\356\367\355\373\354\350) -1617 b Fg(C-x)42 b(C-l)-128 4453 y Fh(14)131 b -(\314\350\355\350\341\363\364\345\360)-128 4635 y Fi +4307 y Fi(\361)n(\344\345\353\340\362\374)26 b(\341\363\352\342\373)h +(\356\341\353\340\361\362\350)e(\361\362\360\356\367\355\373\354\350) +1616 b Fg(C-x)42 b(C-l)-128 4553 y Fh(14)131 b +(\314\350\355\350\341\363\364\345\360)-128 4735 y Fi (\321\353\345\344\363\376\371\350\345)28 b (\352\353\340\342\350\370\350)f(\(\352\353\376\367\350\))i (\356\357\360\345\344\345\353\345\355\373)e(\342)h -(\354\350\355\350\341\363\364\345\360\345.)-78 4734 y -(\344\356\357\356\353\355\350\362\374)f(\355\340\361\352)n -(\356\353\374\352)n(\356)f(\342\356\347\354\356)n(\346\355\356)1727 -b Fg(TAB)-78 4833 y Fi(\344\356\357\356\353\355\350\362\374)27 -b(\344\356)h(\356)n(\344\355\356\343\356)e(\361\353\356\342\340)1907 -b Fg(SPC)-78 4933 y Fi(\344\356\357\356\353\355\350\362\374)27 -b(\350)h(\342\373\357\356\353\355\350\362\374)2026 b -Fg(RET)-78 5033 y Fi(\357\356\352)n(\340\347\340\362\374)26 -b(\342\356\347\354\356)n(\346\355\373\345)g +(\354\350\355\350\341\363\364\345\360\345.)-78 4833 y +(\344\356\357\356\353\355\350\362\374)e(\355\340\361\352)n +(\356\353\374\352)n(\356)g(\342\356\347\354\356)n(\346\355\356)1727 +b Fg(TAB)-78 4933 y Fi(\344\356\357\356\353\355\350\362\374)26 +b(\344\356)i(\356)n(\344\355\356\343\356)e(\361\353\356\342\340)1907 +b Fg(SPC)-78 5033 y Fi(\344\356\357\356\353\355\350\362\374)26 +b(\350)i(\342\373\357\356\353\355\350\362\374)2025 b +Fg(RET)-78 5132 y Fi(\357\356\352)n(\340\347\340\362\374)25 +b(\342\356\347\354\356)n(\346\355\373\345)h (\344\356\357\356\353\355\345\355\350\377)1677 b Fg(?)-78 -5132 y Fi(\342\373\341\360\340\362\374)26 b -(\357\360\345\344\373\344\363\371\350\351)i(\342\342\356)n(\344)e(\342) -h(\354\350\355\350\341\363\364\345\360)1390 b Fg(M-p)-78 -5232 y Fi(\342\373\341\360\340\362\374)26 b -(\361\353\345\344\363\376\371\350\351)i(\342\342\356)n(\344)e(\342)h -(\354\350\355\350\341\363\364\345\360)1443 b Fg(M-n)-78 -5332 y Fi(\357\356\350\361\352)28 b(\342)f -(\350\361\362\356\360\350\350)h(\357\356)f(\360\345\343\363)-5 +5232 y Fi(\342\373\341\360\340\362\374)25 b +(\357\360\345\344\373\344\363\371\363\376)j(\361\362\360\356\352\363)f +(\350\347)g(\350\361\362\356\360\350\350)g(\342\342\356)n(\344\340)1130 +b Fg(M-p)-78 5332 y Fi(\342\373\341\360\340\362\374)25 +b(\361\353\345\344\363\376\371\363\376)j(\361\362\360\356\352\363)f +(\350\347)g(\350\361\362\356\360\350\350)g(\342\342\356)n(\344\340)1183 +b Fg(M-n)-78 5431 y Fi(\357\356\350\361\352)28 b(\342)f +(\350\361\362\356\360\350\350)g(\357\356)g(\360\345\343\363)-5 b(\353\377\360\355\356\354\363)28 b(\342\373\360\340\346)n -(\345\355\350\376)f(\342)g(\356\341\360\340\362\355\356\354)g +(\345\355\350\376)f(\342)g(\356\341\360\340\362\355\356\354)f (\355\340\357\360\342\353\345\355\350\350)293 b Fg(M-r)-78 -5431 y Fi(\357\356\350\361\352)28 b(\342)f -(\350\361\362\356\360\350\350)h(\357\356)f(\360\345\343\363)-5 +5531 y Fi(\357\356\350\361\352)28 b(\342)f +(\350\361\362\356\360\350\350)g(\357\356)g(\360\345\343\363)-5 b(\353\377\360\355\356\354\363)28 b(\342\373\360\340\346)n (\345\355\350\376)f(\342)g(\357\360)n(\377\354\356\354)h (\355\340\357\360\342\353\345\355\350\350)361 b Fg(M-s)-78 -5531 y Fi(\357\360\345\360\342\340\362\374)27 b(\352)n -(\356\354\340\355\344\363)2247 b Fg(C-g)-128 5627 y Fi -(\315\340\341\345\360\350\362\345)31 b Fg(C-x)42 b(ESC)g(ESC)30 +5630 y Fi(\357\360\345\360\342\340\362\374)26 b(\352)n +(\356\354\340\355\344\363)2247 b Fg(C-g)-128 5726 y Fi +(\315\340\341\345\360\350\362\345)30 b Fg(C-x)42 b(ESC)g(ESC)30 b Fi(\344\353\377)i -(\360\345\344\340\352\362\350\360\356\342\340\355\350\377)e(\350)h -(\357\356\342\362\356\360\345\355\350\377)g -(\357\356\361\353\345\344\355\345\351)g(\352)n +(\360\345\344\340\352\362\350\360\356\342\340\355\350\377)d(\350)i +(\357\356\342\362\356\360\345\355\350\377)f +(\357\356\361\353\345\344\355\345\351)h(\352)n (\356\354\340\355\344\373)f(\355\340\341\360\340\355\355\356\351)g (\342)h(\354\350\355\350\341\363\364\345\360\345.)-128 -5726 y(\315\340\341\345\360\350\362\345)c Fg(F10)p Fi(,)g -(\367\362\356\341\373)g(\360\340\341\356\362)n(\340\362\374)f(\361)h -(\357\363\355\352\362)n(\340\354\350)h(\354\345\355\376)h(\357\360\350) -f(\357\356\354\356\371\350)f(\352)n(\356\354\340\355\344)g -(\354\350\355\350\341\363\364\345\360\340.)1860 6192 +5826 y(\315\340\341\345\360\350\362\345)26 b Fg(F10)p +Fi(,)h(\367\362\356\341\373)f(\360\340\341\356\362)n(\340\362\374)e +(\361)j(\357\363\355\352\362)n(\340\354\350)g(\354\345\355\376)i +(\357\360\350)f(\357\356\354\356\371\350)f(\352)n(\356\354\340\355\344) +g(\354\350\355\350\341\363\364\345\360\340.)1860 6192 y(3)p eop end %%Page: 4 4 TeXDict begin 4 3 bop -128 -45 a Fh(15)131 b(\301\363\364\345\360\340) --78 139 y Fi(\342\373\341\360\340\362\374)26 b -(\344\360\363\343\356\351)i(\341\363\364\345\360)2071 -b Fg(C-x)42 b(b)-78 239 y Fi(\342\373\344\340\362\374)27 -b(\361\357\350\361\356\352)g(\342\361\345\365)g +-78 139 y Fi(\342\373\341\360\340\362\374)25 b +(\344\360\363\343\356\351)j(\341\363\364\345\360)2071 +b Fg(C-x)42 b(b)-78 239 y Fi(\342\373\344\340\362\374)26 +b(\361\357\350\361\356\352)h(\342\361\345\365)g (\341\363\364\345\360\356\342)1849 b Fg(C-x)42 b(C-b)-78 -338 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)28 -b(\341\363\364\345\360)2212 b Fg(C-x)42 b(k)-128 584 -y Fh(16)131 b(\316\341\354\345\355)43 b(\354\345\361\362)l -(\340\354\350)-78 745 y Fi(\356\341\354\345\355\377\362\374)27 -b(\354\345\361\362)n(\340\354\350)h Ff(\361\350\354\342\356\353\373) -1842 b Fg(C-t)-78 844 y Fi(\356\341\354\345\355\377\362\374)27 -b(\354\345\361\362)n(\340\354\350)h Ff(\361\353\356\342\340)1982 -b Fg(M-t)-78 944 y Fi(\356\341\354\345\355\377\362\374)27 -b(\354\345\361\362)n(\340\354\350)h Ff(\361\362\360\356\352\350)1925 -b Fg(C-x)42 b(C-t)-78 1044 y Fi(\356\341\354\345\355\377\362\374)27 +338 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)26 +b(\341\363\364\345\360)2212 b Fg(C-x)42 b(k)-128 583 +y Fh(16)131 b(\317\345\360\345\361\362)l(\340\355\356\342\352)l(\340)44 +b(\344\340\355\355\373\365)-78 767 y Fi +(\356\341\354\345\355\377\362\374)26 b(\354\345\361\362)n(\340\354\350) +h Ff(\361\350\354\342\356\353\373)1842 b Fg(C-t)-78 867 +y Fi(\356\341\354\345\355\377\362\374)26 b(\354\345\361\362)n +(\340\354\350)h Ff(\361\353\356\342\340)1982 b Fg(M-t)-78 +966 y Fi(\356\341\354\345\355\377\362\374)26 b(\354\345\361\362)n +(\340\354\350)h Ff(\361\362\360\356\352\350)1925 b Fg(C-x)42 +b(C-t)-78 1066 y Fi(\356\341\354\345\355\377\362\374)26 b(\354\345\361\362)n(\340\354\350)h Ff(\342\373\360\340\346)m -(\345\355\350\377)1727 b Fg(C-M-t)-128 1289 y Fh(17)131 +(\345\355\350\377)1726 b Fg(C-M-t)-128 1311 y Fh(17)131 b(\317\360\356\342\345\360\352)l(\340)44 b -(\343\360\340\354\354\340\362\350\352\350)-78 1472 y -Fi(\357\360\356\342\345\360\350\362\374)27 b +(\357\360\340\342\356\357\350\361\340\355\350\377)-78 +1495 y Fi(\357\360\356\342\345\360\350\362\374)26 b (\362\345\352\363\371\345\345)h(\361\353\356\342\356)1974 -b Fg(M-$)-78 1572 y Fi(\357\360\356\342\345\360\350\362\374)27 -b(\342\361\345)g(\361\353\356\342\340)f(\342)i -(\356\341\353\340\361\362\350)1776 b Fg(M-x)42 b(ispell-region)-78 -1672 y Fi(\342\373\357\356\353\355\350\362\374)27 b -(\357\360\356\342\345\360\352\363)g(\342\361\345\343\356)f +b Fg(M-$)-78 1594 y Fi(\357\360\356\342\345\360\350\362\374)26 +b(\342\361\345)h(\361\353\356\342\340)f(\342)i +(\356\341\353\340\361\362\350)1775 b Fg(M-x)42 b(ispell-region)-78 +1694 y Fi(\342\373\357\356\353\355\350\362\374)26 b +(\357\360\356\342\345\360\352\363)h(\342\361\345\343\356)f (\341\363\364\345\360\340)1624 b Fg(M-x)42 b(ispell-buffer)-128 -1917 y Fh(18)131 b(\322)-11 b(\345\343\350)-78 2077 y -Fi(\355\340\351\362\350)28 b -(\356\357\360\345\344\345\353\345\355\350\345)g(\362\345\343)n(\340) -2037 b Fg(M-.)-78 2177 y Fi(\355\340\351\362\350)28 b -(\361\353\345\344\363\376\371\345\345)g(\342\365)n(\356)n -(\346\344\345\355\350\345)e(\362\345\343)n(\340)1659 -b Fg(C-u)42 b(M-.)-78 2276 y Fi(\363\352)n(\340\347\340\362\374)26 -b(\355\356\342\373\351)h(\364\340\351\353)g(\361)h(\362\345\343)n -(\340\354\350)1807 b Fg(M-x)42 b(visit-tags-tabl)o(e)-78 -2376 y Fi(\357\356\350\361\352)28 b(\357\356)f +1939 y Fh(18)131 b(\322)-11 b(\345\343\350)-78 2099 y +Fi(\355\340\351\362\350)27 b +(\356\357\360\345\344\345\353\345\355\350\345)h(\362\345\343)n(\340) +2036 b Fg(M-.)-78 2199 y Fi(\355\340\351\362\350)27 b +(\361\353\345\344\363\376\371\345\345)h(\342\365)n(\356)n +(\346\344\345\355\350\345)e(\362\345\343)n(\340)1658 +b Fg(C-u)42 b(M-.)-78 2299 y Fi +(\350\361\357\356\353\374\347\356\342\340\362\374)25 +b(\355\356\342\373\351)h(\364\340\351\353)h(\361)h(\362\345\343)n +(\340\354\350)1594 b Fg(M-x)42 b(visit-tags-tabl)o(e)-78 +2398 y Fi(\357\356\350\361\352)28 b(\357\356)f (\370\340\341\353\356\355\363)f(\357\356)h(\342\361\345\351)g(\362)n -(\340\341\353\350\366\345)g(\362\345\343\356\342)1392 -b Fg(M-x)42 b(tags-search)-78 2476 y Fi -(\342\373\357\356\353\355\350\362\374)27 b(query-replace)f +(\340\341\353\350\366\345)f(\362\345\343\356\342)1391 +b Fg(M-x)42 b(tags-search)-78 2498 y Fi +(\342\373\357\356\353\355\350\362\374)26 b(query-replace)g (\355\340\344)h(\342\361\345\354\350)g(\364\340\351\353\340\354\350) -1237 b Fg(M-x)42 b(tags-query-repl)o(ace)-78 2575 y Fi(\357\360\356)n -(\344\356\353\346\350\362\374)27 b(\357\356\350\361\352)h(\350\353\350) +1237 b Fg(M-x)42 b(tags-query-repl)o(ace)-78 2597 y Fi(\357\360\356)n +(\344\356\353\346\350\362\374)26 b(\357\356\350\361\352)i(\350\353\350) g(\357\356\350\361\352-\347\340\354\345\355\363)e(\362\345\343)n(\340) -1346 b Fg(M-,)-128 2820 y Fh(19)131 b +1345 b Fg(M-,)-128 2843 y Fh(19)131 b (\312\356\354\340\355\344\355\373\345)43 b -(\357\360\356\366\345\361\361\356\360\373)-78 3004 y -Fi(\302\373\357\356\353\355\350\362\374)28 b(\352)n -(\356\354\340\355\344\363)e(\352)n +(\357\360\356\366\345\361\361\356\360\373)-78 3026 y +Fi(\302\373\357\356\353\355\350\362\374)27 b(\352)n +(\356\354\340\355\344\363)f(\352)n (\356\354\340\355\344\355\356\343\356)g (\357\360\356\366\345\361\361\356\360\340)1245 b Fg(M-!)-78 -3104 y Fi(\342\373\357\356\353\355\350\362\374)27 b(\352)n -(\356\354\340\355\344\363)g(\352)n +3126 y Fi(\342\373\357\356\353\355\350\362\374)26 b(\352)n +(\356\354\340\355\344\363)h(\352)n (\356\354\340\355\344\355\356\343\356)f (\357\360\356\366\345\361\361\356\360\340)g(\355\340\344)i -(\356\341\353\340\361\362\374\376)720 b Fg(M-|)-78 3203 -y Fi(\357\360\356\357\363)n(\361\362\350\362\374)28 b(\361\356)n -(\344\345\360)n(\346\350\354\356\345)e(\356\341\353\340\361\362\350)h -(\367\345\360\345\347)h(\352)n(\356\354\340\355\344\363)f(\352)n +(\356\341\353\340\361\362\374\376)719 b Fg(M-|)-78 3225 +y Fi(\357\360\356\357\363)n(\361\362\350\362\374)26 b(\361\356)n +(\344\345\360)n(\346\350\354\356\345)g(\356\341\353\340\361\362\350)g +(\367\345\360\345\347)i(\352)n(\356\354\340\355\344\363)f(\352)n (\356\354\340\355\344\355\356\343\356)f (\357\360\356\366\345\361\361\356\360\340)210 b Fg(C-u)42 -b(M-|)-78 3303 y Fi(\347\340\357\363)n(\361\362\350\362\374)27 -b(\352)n(\356\354\340\355\344\355\373\351)h +b(M-|)-78 3325 y Fi(\347\340\357\363)n(\361\362\350\362\374)25 +b(\352)n(\356\354\340\355\344\355\373\351)j (\357\360\356\366\345\361\361\356\360)e(\342)i(\356\352\355\345)f -Fg(*shell*)1098 b(M-x)42 b(shell)-128 3549 y Fh(20)131 +Fg(*shell*)1098 b(M-x)42 b(shell)-128 3571 y Fh(20)131 b(\317\360)l(\377\354\356\363\343\356\353\374\355\373\345)44 -b(\356\341\353\340\361\362\350)-78 3733 y Fi(\361\352)n -(\356\357\350\360\356\342\340\362\374)26 b(\357\360)n +b(\356\341\353\340\361\362\350)-78 3755 y Fi(\361\352)n +(\356\357\350\360\356\342\340\362\374)25 b(\357\360)n +(\377\354\356\363\343\356\353\374\355\363\376)h +(\356\341\353\340\361\362\374)f(\342)j(\360\345\343\350\361\362\360) +1139 b Fg(C-x)42 b(r)h(r)-78 3854 y Fi(\363)-5 b +(\344\340\353\350\362\374)27 b(\357\360)n +(\377\354\356\363\343\356\353\374\355\363\376)f +(\356\341\353\340\361\362\374)1691 b Fg(C-x)42 b(r)h(k)-78 +3954 y Fi(\342\361\362)n(\340\342\350\362\374)25 b +(\357\356\361\353\345\344\355\363\376)i(\363\355\350\367\362\356)n +(\346)n(\345\355\355\363\376)g(\357\360)n +(\377\354\356\363\343\356\353\374\355\363\376)f +(\356\341\353\340\361\362\374)637 b Fg(C-x)42 b(r)h(y)-78 +4054 y Fi(\356\362\352\360\373\362\374)26 b(\357\360)n (\377\354\356\363\343\356\353\374\355\363\376)g -(\356\341\353\340\361\362\374)g(\342)i(\360\345\343\350\361\362\360) -1140 b Fg(C-x)42 b(r)h(r)-78 3832 y Fi(\363)-5 b -(\344\340\353\350\362\374)28 b(\357\360)n -(\377\354\356\363\343\356\353\374\355\363\376)e -(\356\341\353\340\361\362\374)1692 b Fg(C-x)42 b(r)h(k)-78 -3932 y Fi(\342\361\362)n(\340\342\350\362\374)27 b -(\357\356\361\353\345\344\355\363\376)g(\363\355\350\367\362\356)n -(\346)n(\345\355\355\363\376)h(\357\360)n -(\377\354\356\363\343\356\353\374\355\363\376)e -(\356\341\353\340\361\362\374)638 b Fg(C-x)42 b(r)h(y)-78 -4031 y Fi(\356\362\352\360\373\362\374)28 b(\357\360)n -(\377\354\356\363\343\356\353\374\355\363\376)e -(\356\341\353\340\361\362\374,)h(\361)n(\344\342\350\343)n(\340\377)f -(\362\345\352)n(\361\362)i(\342\357\360\340\342\356)821 -b Fg(C-x)42 b(r)h(o)-78 4131 y Fi(\356\367\350\361\362\350\362\374)28 -b(\357\360)n(\377\354\356\363\343\356\353\374\355\363\376)f -(\356\341\353\340\361\362\374)1652 b Fg(C-x)42 b(r)h(c)-78 -4231 y Fi(\357\360\345\344\342\340\360\350\362\374)27 -b(\352)n(\340\346\344\363\376)h(\361\362\360\356\352\363)f -(\361\362\360\356\352)n(\356\351)g(\362\345\352)n(\361\362)n(\340)1291 -b Fg(C-x)42 b(r)h(t)-128 4476 y Fh(21)131 b -(\321\356\352\360\340\371\345\355\350\377)-78 4659 y -Fi(\344\356\341\340\342\350\362\374)26 b(\343)n -(\353\356\341\340\353\374\355\356\345)f +(\356\341\353\340\361\362\374,)g(\361)n(\344\342\350\343)n(\340\377)g +(\362\345\352)n(\361\362)g(\342\357\360\340\342\356)821 +b Fg(C-x)42 b(r)h(o)-78 4153 y Fi(\356\367\350\361\362\350\362\374)26 +b(\357\360)n(\377\354\356\363\343\356\353\374\355\363\376)h +(\356\341\353\340\361\362\374)1651 b Fg(C-x)42 b(r)h(c)-78 +4253 y Fi(\357\360\345\344\342\340\360\350\362\374)26 +b(\352)n(\340\346\344\363\376)i(\361\362\360\356\352\363)e +(\361\362\360\356\352)n(\356\351)g(\362\345\352)n(\361\362)n(\340)1289 +b Fg(C-x)42 b(r)h(t)-128 4498 y Fh(21)131 b +(\321\356\352\360\340\371\345\355\350\377)-78 4682 y +Fi(\344\356\341\340\342\350\362\374)25 b(\343)n +(\353\356\341\340\353\374\355\356\345)g (\361\356\352\360\340\371\345\355\350\345)1675 b Fg(C-x)42 -b(a)h(g)-78 4759 y Fi(\344\356\341\340\342\350\362\374)26 -b(\353\356\352)n(\340\353\374\355\356\345)g(\344\353\377)i +b(a)h(g)-78 4781 y Fi(\344\356\341\340\342\350\362\374)25 +b(\353\356\352)n(\340\353\374\355\356\345)h(\344\353\377)i (\360\345\346\350\354\340)f(\361\356\352\360\340\371\345\355\350\345) -1220 b Fg(C-x)42 b(a)h(l)-78 4859 y Fi -(\344\356\341\340\342\350\362\374)26 b(\343)n -(\353\356\341\340\353\374\355\356\345)f(\347\355\340)n +1220 b Fg(C-x)42 b(a)h(l)-78 4881 y Fi +(\344\356\341\340\342\350\362\374)25 b(\343)n +(\353\356\341\340\353\374\355\356\345)g(\347\355\340)n (\367\345\355\350\345)i(\344\353\377)h(\344\340\355\355\356\343\356)e (\361\356\352\360\340\371\345\355\350\377)813 b Fg(C-x)42 -b(a)h(i)g(g)-78 4958 y Fi(\344\356\341\340\342\350\362\374)26 -b(\361\357\345\366\350\364\350\367\345\361\352)n(\356\345)h +b(a)h(i)g(g)-78 4981 y Fi(\344\356\341\340\342\350\362\374)25 +b(\361\357\345\366\350\364\350\367\345\361\352)n(\356\345)i (\344\353\377)h(\360\345\346\350\354\340)f(\347\355\340)n (\367\345\355\350\345)g(\344\340\355\355\356\343\356)g (\361\356\352\360\340\371\345\355\350\377)342 b Fg(C-x)42 -b(a)h(i)g(l)-78 5058 y Fi(\377\342\355\356)27 b(\342\361\362)n -(\340\342\350\362\374)f(\347\355\340)n(\367\345\355\350\345)h +b(a)h(i)g(l)-78 5080 y Fi(\377\342\355\356)27 b(\342\361\362)n +(\340\342\350\362\374)d(\347\355\340)n(\367\345\355\350\345)j (\344\353\377)h(\361\356\352\360\340\371\345\355\350\377)1395 -b Fg(C-x)42 b(a)h(e)-78 5158 y Fi +b Fg(C-x)42 b(a)h(e)-78 5180 y Fi (\344\350\355\340\354\350\367\345\361\352\350)28 b -(\344\356\357\356\353\355\350\362\374)g -(\357\360\345\344\373\344\363\371\345\345)f(\361\353\356\342\356)1287 +(\344\356\357\356\353\355\350\362\374)f +(\357\360\345\344\373\344\363\371\345\345)g(\361\353\356\342\356)1287 b Fg(M-/)1860 6192 y Fi(4)p eop end %%Page: 5 5 TeXDict begin 5 4 bop -128 -45 a Fh(22)131 b(\320)l(\345\343\363)-7 @@ -1856,22 +5642,22 @@ b(\353\377\360\355\373\345)44 b(\342\373\360\340\346)l b(\356)n(\344\350\355\356\367\355\373\351)g(\361\350\354\342\356\353)g (\(\347\340)h(\350\361\352\353\376\367\345\355\350\345\354)g (\361\350\354\342\356\353\340)f(\355\356\342\356\351)f -(\361\362\360\356\352\350\))388 b Fg(.)43 b Fi(\(dot\))-78 +(\361\362\360\356\352\350\))387 b Fg(.)43 b Fi(\(dot\))-78 239 y(\355\356\353\374)27 b(\350\353\350)h(\341\356\353\345\345)f -(\357\356\342\362\356\360\345\355\350\351)1901 b Fg(*)-78 +(\357\356\342\362\356\360\345\355\350\351)1900 b Fg(*)-78 338 y Fi(\356)n(\344\355\356)27 b(\350\353\350)h(\341\356\353\345\345)e -(\357\356\342\362\356\360\345\355\350\351)1904 b Fg(+)-78 +(\357\356\342\362\356\360\345\355\350\351)1903 b Fg(+)-78 438 y Fi(\355\356\353\374)27 b(\350\353\350)h(\356)n(\344\355\356)f -(\357\356\342\362\356\360\345\355\350\345)1940 b Fg(?)-78 -537 y Fi(\375\352\360\340\355\350\360\356\342\340\362\374)26 -b(\361\357\345\366\350\340\353\374\355\373\351)h +(\357\356\342\362\356\360\345\355\350\345)1939 b Fg(?)-78 +537 y Fi(\375\352\360\340\355\350\360\356\342\340\362\374)25 +b(\361\357\345\366\350\340\353\374\355\373\351)i (\361\350\354\342\356\353)h Fe(c)1536 b Fd(n)p Fe(c)-78 637 y Fi(\342\373\341\356\360)26 b(\354\345\346\344\363)i(\340\353\374) -n(\362\345\360\355\340\362\350\342\340\354\350)f +n(\362\345\360\355\340\362\350\342\340\354\350)d (\(\020\350\353\350\021\))1501 b Fd(nj)-78 737 y Fi (\343\360\363\357\357\350\360\356\342\352)n(\340)2454 b Fd(n)p Fg(\()42 b Fc(:)14 b(:)g(:)44 b Fd(n)p Fg(\))-78 -836 y Fi(\362\345\352)n(\361\362)29 b(\342)e Fe(n)6 b +836 y Fi(\362\345\352)n(\361\362)27 b(\342)g Fe(n)6 b Fi(-\351)27 b(\343\360\363\357\357\345)2227 b Fd(n)p Fe(n)-78 936 y Fi(\343\360\340\355\350\366\340)27 b (\361\353\356\342\340)2394 b Fd(n)p Fg(b)-78 1036 y Fi(\355\345)28 @@ -1881,7 +5667,7 @@ b(\355\340)m(\367\340\353\356)79 b(\361\356\356\362-)2857 1243 y(\342\345\362\361\362\342\350\377)3547 1144 y(\352)m (\356\355\345\366)127 b(\361\356\356\362-)3547 1243 y (\342\345\362\361\362\342\350\377)-78 1343 y Fi(\361\362\360\356\352)n -(\340)2683 b Fg(\002)645 b($)-78 1442 y Fi(\361\353\356\342\356)2726 +(\340)2682 b Fg(\002)646 b($)-78 1442 y Fi(\361\353\356\342\356)2726 b Fd(n)p Fg(<)604 b Fd(n)p Fg(>)-78 1542 y Fi(\341\363\364\345\360)2701 b Fd(n)p Fg(`)604 b Fd(n)p Fg(')-78 1650 y Ff(\352\353\340\361\361)33 b(\361\350\354\342\356\353\356\342)2262 b @@ -1890,163 +5676,170 @@ b(\361\350\354\342\356\353\356\342)2262 b 1750 y(\361\362\342\363)m(\345\362)131 b(\344\360\363-)3547 1849 y(\343\350\354)-78 1949 y Fi(\377\342\355\373\351)28 b(\355\340\341\356\360)2450 b Fg([)43 b Fc(:)14 b(:)g(:)43 -b Fg(])419 b([\002)p Fc(:)14 b(:)g(:)41 b Fg(])-78 2048 +b Fg(])419 b([\002)p Fc(:)14 b(:)g(:)42 b Fg(])-78 2048 y Fi(\361\350\354\342\356\353-\341\363\352\342\340)2423 b Fd(n)p Fg(w)604 b Fd(n)p Fg(W)-78 2148 y Fi(\361\350\354\342\356\353) -27 b(\361)h(\361\350\355\362)n(\340\352)n(\361\350\361\356\354)f +27 b(\361)h(\361\350\355\362)n(\340\352)n(\361\350\361\356\354)e Fe(c)2039 b Fd(n)p Fg(s)p Fe(c)566 b Fd(n)p Fg(S)p Fe(c)-128 2394 y Fh(23)131 b(\314\345\346\344\363\355\340\360\356)l (\344\355\373\345)43 b(\355\340\341\356\360\373)g (\361\350\354\342\356\353\356\342)-78 2578 y Fi -(\342\373\341\360\340\362\374)26 b(\377\347\373\352)2406 -b Fg(M-x)42 b(set-language-en)o(vir)o(on)o(me)o(nt)-78 -2677 y Fi(\357\356\352)n(\340\347\340\362\374)26 b(\342\361\345)h -(\342\356\347\354\356)n(\346\355\373\345)f(\354\345\362\356)n(\344\373) -i(\342\342\356)n(\344\340)1457 b Fg(M-x)42 b(list-input-meth)o(ods)-78 -2777 y Fi(\360\340\347\360\345\370\350\362\374)27 b(\350\353\350)h -(\347\340\357\360\345\362\350\362\374)g(\354\345\362\356)n(\344)g +(\342\373\341\360\340\362\374)25 b(\377\347\373\352)2406 +b Fg(C-x)42 b(RET)g(l)-78 2677 y Fi(\357\356\352)n +(\340\347\340\362\374)25 b(\342\361\345)i(\342\356\347\354\356)n +(\346\355\373\345)f(\354\345\362\356)n(\344\373)h(\342\342\356)n +(\344\340)1457 b Fg(M-x)42 b(list-input-meth)o(ods)-78 +2777 y Fi(\360\340\347\360\345\370\350\362\374)26 b(\350\353\350)i +(\347\340\357\360\345\362\350\362\374)e(\354\345\362\356)n(\344)h (\342\342\356)n(\344\340)1473 b Fg(C-)p Fd(n)-78 2877 -y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)26 -b(\361\350\361\362\345\354\363)i(\352)n(\356)n -(\344\350\360\356\342\340\355\350\377)e(\344\353\377)i +y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)24 +b(\361\350\361\362\345\354\363)j(\352)n(\356)n +(\344\350\360\356\342\340\355\350\377)f(\344\353\377)i (\361\353\345\344\363\376\371\345\351)f(\352)n (\356\354\340\355\344\373)705 b Fg(C-x)42 b(RET)g(c)-78 -2976 y Fi(\357\356\352)n(\340\347\340\362\374)26 b -(\361\357\350\361\356\352)i(\342\361\345\365)e -(\361\350\361\362\345\354)j(\352)n(\356)n +2976 y Fi(\357\356\352)n(\340\347\340\362\374)25 b +(\361\357\350\361\356\352)j(\342\361\345\365)e +(\361\350\361\362\345\354)i(\352)n(\356)n (\344\350\360\356\342\340\355\350\377)1338 b Fg(M-x)42 b(list-coding-sys)o(tem)o(s)-78 3076 y Fi(\342\373\341\360\340\362\374) -26 b(\357\360\345\344\357\356\367\362\350\362\345\353\374\355\363\376)j -(\361\350\361\362\345\354\363)f(\352)n(\356)n +25 b(\357\360\345\344\357\356\367\362\350\362\345\353\374\355\363\376)i +(\361\350\361\362\345\354\363)g(\352)n(\356)n (\344\350\360\356\342\340\355\350\377)1041 b Fg(M-x)42 b(prefer-coding-s)o(yst)o(em)-128 3329 y Fh(24)131 b (\310\355\364\356\360\354\340\366\350\377)44 b (\(\361\350\361\362\345\354\340)g(Info\))-78 3519 y Fi -(\347\340\357\363)n(\361\362\350\362\374)27 b -(\361\350\361\362\345\354\363)i(\344\356\361\362\363\357\340)e(\352)g -(\344\356\352\363\354\345\355\362)n(\340\366\350\350)1275 -b Fg(C-h)42 b(i)-78 3619 y Fi(\355\340\351\362\350)28 -b(\363\352)n(\340\347\340\355\355\363\376)f +(\347\340\357\363)n(\361\362\350\362\374)25 b +(\361\350\361\362\345\354\363)j(\344\356\361\362\363\357\340)e(\352)h +(\344\356\352\363\354\345\355\362)n(\340\366\350\350)1274 +b Fg(C-h)42 b(i)-78 3619 y Fi(\355\340\351\362\350)27 +b(\363\352)n(\340\347\340\355\355\363\376)g (\364\363\355\352\366\350\376)g(\350\353\350)h (\357\345\360\345\354\345\355\355\363\376)h(\342)e -(\344\356\352\363\354\345\355\362)n(\340\366\350\350)615 -b Fg(C-h)42 b(C-i)-128 3719 y Fi +(\344\356\352\363\354\345\355\362)n(\340\366\350\350)614 +b Fg(C-h)42 b(S)-128 3719 y Fi (\317\345\360\345\354\345\371\345\355\350\345)28 b -(\342\355\363\362\360\350)f(\363\347\353\340)g(\(\355\356)n +(\342\355\363\362\360\350)e(\363\347\353\340)h(\(\355\356)n (\344\340\354\350\):)-78 3818 y(\357\360\356\352\360\363\362\352)n -(\340)g(\342\357\345\360\345\344)2257 b Fg(SPC)-78 3917 -y Fi(\357\360\356\352\360\363\362\352)n(\340)27 b(\355\340\347\340\344) -2298 b Fg(DEL)-78 4017 y Fi(\357\345\360\345\351\362\350)29 -b(\352)e(\355\340)n(\367\340\353\363)g(\363\347\353\340)2074 +(\340)f(\342\357\345\360\345\344)2257 b Fg(SPC)-78 3917 +y Fi(\357\360\356\352\360\363\362\352)n(\340)26 b(\355\340\347\340\344) +2298 b Fg(DEL)-78 4017 y Fi(\357\345\360\345\351\362\350)28 +b(\352)f(\355\340)n(\367\340\353\363)g(\363\347\353\340)2074 b Fg(.)43 b Fi(\(dot\))-128 4112 y (\317\345\360\345\354\345\371\345\355\350\345)28 b (\354\345\346\344\363)g(\363\347\353\340\354\350:)-78 -4206 y Ff(\361\353\345\344\363\376\371\350\351)f Fi(\363\347\345\353) -2245 b Fg(n)-78 4306 y Ff(\357\360\345\344\373\344\363\371\350\351)27 +4206 y Ff(\361\353\345\344\363\376\371\350\351)g Fi(\363\347\345\353) +2245 b Fg(n)-78 4306 y Ff(\357\360\345\344\373\344\363\371\350\351)28 b Fi(\363\347\345\353)2184 b Fg(p)-78 4405 y Fi -(\357\345\360\345\351\362\350)29 b(\352)e Ff(\342\345\360)m +(\357\345\360\345\351\362\350)28 b(\352)f Ff(\342\345\360)m (\365\355\345\354\363)h Fi(\363\347\353\363)1932 b Fg(u)-78 -4505 y Fi(\342\373\341\360\340\362\374)26 b(\354\345\355\376)j -(\357\356)e(\350\354\345\355\350)2020 b Fg(m)-78 4605 -y Fi(\342\373\341\360\340\362\374)26 b Fe(n)6 b Fi(-\351)28 -b(\357\363\355\352\362)g(\354\345\355\376)h(\357\356)e -(\355\356\354\345\360\363)g(\(1\0259\))1357 b Fe(n)-78 -4704 y Fi(\357\345\360\345\351\362\350)29 b(\357\356)e -(\361\361\373\353\352)n(\345)g(\(\342\356\347\342\360\340\362)g(\361)g -(\357\356\354\356\371\374\376)g Fg(l)p Fi(\))1330 b Fg(f)-78 -4804 y Fi(\342\356\347\342\360\340\362\350\362\361)n(\377)27 -b(\352)g(\357\356\361\353\345\344\355\345\354\363)h -(\357\360\356\361\354\356\362\360\345\355\355\356\354\363)f +4505 y Fi(\342\373\341\360\340\362\374)25 b(\357\363\355\352\362)j +(\354\345\355\376)g(\357\356)f(\350\354\345\355\350)1769 +b Fg(m)-78 4605 y Fi(\342\373\341\360\340\362\374)25 +b Fe(n)6 b Fi(-\351)28 b(\357\363\355\352\362)f(\354\345\355\376)i +(\357\356)e(\355\356\354\345\360\363)g(\(1\0259\))1357 +b Fe(n)-78 4704 y Fi(\357\345\360\345\351\362\350)28 +b(\357\356)f(\361\361\373\353\352)n(\345)g +(\(\342\356\347\342\360\340\362)f(\361)h(\357\356\354\356\371\374\376)g +Fg(l)p Fi(\))1330 b Fg(f)-78 4804 y Fi +(\342\356\347\342\360\340\362\350\362\361)n(\377)25 b(\352)i +(\357\356\361\353\345\344\355\345\354\363)h +(\357\360\356\361\354\356\362\360\345\355\355\356\354\363)e (\363\347\353\363)1089 b Fg(l)-78 4904 y Fi -(\342\356\347\342\360\340\362\350\362\361)n(\377)27 b(\352)g -(\363\347\353\363-\352)n(\340\362)n(\340\353\356\343\363)1841 -b Fg(d)-78 5003 y Fi(\357\345\360\345\351\362\350)29 -b(\352)e(\363\347\353\363)-7 b(,)28 b -(\347\340\344\340\355\355\356\354\363)e(\350\354\345\355\345\354)1617 -b Fg(g)-128 5098 y Fi(\304\360\363\343\350\345)27 b(\352)n -(\356\354\340\355\344\373:)-78 5192 y(\347\340\357\363)n -(\361\362\350\362\374)g Ff(\363\367\345\341\355\350\352)h -Fi(\357\356)f(\361\350\361\362\345\354\345)i -(\344\356\352\363\354\345\355\362)n(\340\366\350\350)1183 -b Fg(h)-78 5292 y Ff(\357\360\345\352\360\340\362\350\362\374)32 -b(\360\340\341\356\362\363)d Fi(\361)e -(\344\356\352\363\354\345\355\362)n(\340\366\350\345\351)1455 -b Fg(q)-78 5392 y Fi(\357\356\350\361\352)28 b(\342)f +(\342\356\347\342\360\340\362\350\362\361)n(\377)25 b(\352)i +(\363\347\353\363-\352)n(\340\362)n(\340\353\356\343\363)1840 +b Fg(d)-78 5003 y Fi(\317\345\360\345\351\362\350)27 +b(\352)h(\342\345\360)n(\365)n(\345\354\363)e(\363\347\353\363)i +(\364\340\351\353\340)1748 b Fg(t)-78 5103 y Fi +(\357\345\360\345\351\362\350)28 b(\352)f(\363\347\353\363)-7 +b(,)28 b(\347\340\344\340\355\355\356\354\363)e +(\350\354\345\355\345\354)1617 b Fg(g)-128 5198 y Fi +(\304\360\363\343\350\345)27 b(\352)n(\356\354\340\355\344\373:)-78 +5292 y(\347\340\357\363)n(\361\362\350\362\374)e Ff +(\363\367\345\341\355\350\352)j Fi(\357\356)f +(\361\350\361\362\345\354\345)h(\344\356\352\363\354\345\355\362)n +(\340\366\350\350)1182 b Fg(h)-78 5392 y Fi(\357\356\350\361\352)28 +b(\362\345\354\373)f(\342)g(\350\355\344\345\352)n(\361\345)2107 +b Fg(i)-78 5491 y Fi(\357\356\350\361\352)28 b(\342)f (\363\347\353\340\365)g(\361)g(\357\356\354\356\371\374\376)g (\360\345\343\363)-5 b(\353\377\360\355\373\365)28 b -(\342\373\360\340\346)n(\345\355\350\351)1028 b Fg(M-s)1860 -6192 y Fi(5)p eop end +(\342\373\360\340\346)n(\345\355\350\351)1028 b Fg(s)-78 +5591 y Ff(\357\360\345\352\360\340\362\350\362\374)32 +b(\360\340\341\356\362\363)d Fi(\361)e +(\344\356\352\363\354\345\355\362)n(\340\366\350\345\351)1454 +b Fg(q)1860 6192 y Fi(5)p eop end %%Page: 6 6 TeXDict begin 6 5 bop -128 -45 a Fh(25)131 b(\320)l (\345\343\350\361\362\360\373)-78 139 y Fi(\361\356)n -(\365\360\340\355\350\362\374)27 b(\356\341\353\340\361\362\374)f(\342) -h(\360\345\343\350\361\362\360\345)1810 b Fg(C-x)42 b(r)h(s)-78 -239 y Fi(\342\361\362)n(\340\342\350\362\374)27 b(\361\356)n -(\344\345\360)n(\346\350\354\356\345)f -(\360\345\343\350\361\362\360\340)i(\342)f(\341\363\364\345\360)1435 +(\365\360\340\355\350\362\374)26 b(\356\341\353\340\361\362\374)f(\342) +i(\360\345\343\350\361\362\360\345)1809 b Fg(C-x)42 b(r)h(s)-78 +239 y Fi(\342\361\362)n(\340\342\350\362\374)25 b(\361\356)n +(\344\345\360)n(\346\350\354\356\345)h +(\360\345\343\350\361\362\360\340)h(\342)g(\341\363\364\345\360)1435 b Fg(C-x)42 b(r)h(i)-78 338 y Fi(\361\356)n -(\365\360\340\355\350\362\374)27 b(\357\356\353\356)n(\346)n -(\345\355\350\345)f(\352\363\360\361\356\360\340)h(\342)g -(\360\345\343\350\361\362\360\345)1365 b Fg(C-x)42 b(r)h(SPC)-78 -438 y Fi(\357\345\360\345\351\362\350)29 b(\352)e(\357\356\353\356)n +(\365\360\340\355\350\362\374)26 b(\357\356\353\356)n(\346)n +(\345\355\350\345)g(\352\363\360\361\356\360\340)h(\342)g +(\360\345\343\350\361\362\360\345)1364 b Fg(C-x)42 b(r)h(SPC)-78 +438 y Fi(\357\345\360\345\351\362\350)28 b(\352)f(\357\356\353\356)n (\346)n(\345\355\350\376)g(\352\363\360\361\356\360\340,)g(\361\356)n (\365\360\340\355\345\355\355\356\354\363)f(\342)h -(\360\345\343\350\361\362\360\345)775 b Fg(C-x)42 b(r)h(j)-128 +(\360\345\343\350\361\362\360\345)774 b Fg(C-x)42 b(r)h(j)-128 683 y Fh(26)131 b(\312\353\340\342\350\340\362\363\360\355\373\345)44 b(\354\340\352\360\356\361\373)-78 867 y Ff(\355\340)m (\367\340\362\374)29 b Fi(\356\357\360\345\344\345\353\345\355\350\345) -e(\352\353\340\342\350\340\362\363\360\355\356\343\356)f +e(\352\353\340\342\350\340\362\363\360\355\356\343\356)e (\354\340\352\360\356\361\340)1227 b Fg(C-x)42 b(\()-78 966 y Ff(\347\340\352)m(\356\355\367\350\362\374)29 b Fi(\356\357\360\345\344\345\353\345\355\350\345)e -(\352\353\340\342\350\340\362\363\360\355\356\343\356)f +(\352\353\340\342\350\340\362\363\360\355\356\343\356)e (\354\340\352\360\356\361\340)1077 b Fg(C-x)42 b(\))-78 1066 y Ff(\342\373\357\356\353\355\350\362\374)27 b Fi (\357\356\361\353\345\344\355\350\351)h (\356\357\360\345\344\345\353\345\355\355\373\351)g (\354\340\352\360\356\361)1187 b Fg(C-x)42 b(e)-78 1165 -y Fi(\344\356\357\356\353\355\350\362\374)27 b -(\357\356\361\353\345\344\355\350\351)h +y Fi(\344\356\357\356\353\355\350\362\374)26 b +(\357\356\361\353\345\344\355\350\351)i (\356\357\360\345\344\345\353\345\355\355\373\351)g (\354\340\352\360\356\361)1260 b Fg(C-u)42 b(C-x)g(\()-78 -1265 y Fi(\347\340\344\340\362\374)27 b(\350\354\377)h(\344\353\377)g +1265 y Fi(\347\340\344\340\362\374)26 b(\350\354\377)i(\344\353\377)g (\357\356\361\353\345\344\355\345\343\356)f (\356\357\360\345\344\345\353\345\355\355\356\343\356)f (\354\340\352\360\356\361\340)990 b Fg(M-x)42 b(name-last-kbd-m)o(acr)o -(o)-78 1365 y Fi(\342\361\362)n(\340\342\350\362\374)27 -b(\342)g(\341\363\364\345\360)f +(o)-78 1365 y Fi(\342\361\362)n(\340\342\350\362\374)25 +b(\342)i(\341\363\364\345\360)f (\356\357\360\345\344\345\353\345\355\350\345)i (\354\340\352\360\356\361\340)e(\355\340)i(\377\347\373\352)n(\345)f (Lisp)898 b Fg(M-x)42 b(insert-kbd-macr)o(o)-128 1611 y Fh(27)131 b(\312\356\354\340\355\344\373,)43 b (\361\342\377\347\340\355\355\373\345)h(\361)h(Emacs)e(Lisp)-78 -1794 y Fi(\342\373\367\350\361\353\350\362\374)28 b Ff -(\342\373\360\340\346)m(\345\355\350\345)g Fi(\357\345\360\345\344)g +1794 y Fi(\342\373\367\350\361\353\350\362\374)27 b Ff +(\342\373\360\340\346)m(\345\355\350\345)g Fi(\357\345\360\345\344)h (\352\363\360\361\356\360\356\354)1389 b Fg(C-x)42 b(C-e)-78 -1894 y Fi(\342\373\367\350\361\353\350\362\374)28 b -(\362\345\352\363\371\363\376)g(\364\363\355\352\366\350\376)f +1894 y Fi(\342\373\367\350\361\353\350\362\374)27 b +(\362\345\352\363\371\363\376)g(\364\363\355\352\366\350\376)g Ff(defun)1518 b Fg(C-M-x)-78 1994 y Fi -(\342\373\367\350\361\353\350\362\374)28 b Ff -(\356\341\353\340\361\362\374)g Fi(\352)n(\340\352)f +(\342\373\367\350\361\353\350\362\374)27 b Ff +(\356\341\353\340\361\362\374)h Fi(\352)n(\340\352)f (\342\373\360\340\346)n(\345\355\350\345)1561 b Fg(M-x)42 -b(eval-region)-78 2093 y Fi(\361\367\350\362)n(\340\362\374)28 -b(\350)g(\342\373\367\350\361\353\350\362\374)f(\342\373\360\340\346)n -(\345\355\350\345)g(\350\347)g +b(eval-region)-78 2093 y Fi(\361\367\350\362)n(\340\362\374)26 +b(\350)i(\342\373\367\350\361\353\350\362\374)e(\342\373\360\340\346)n +(\345\355\350\345)h(\350\347)g (\354\350\355\350\341\363\364\345\360\340)1078 b Fg(M-:)-78 -2193 y Fi(\347\340\343\360\363\347\350\362\374)27 b(\350\347)h -(\361\362)n(\340\355\344\340\360\362\355\356\343\356)e -(\361\350\361\362\345\354\355\356\343\356)i(\352)n(\340\362)n -(\340\353\356\343)n(\340)1113 b Fg(M-x)42 b(load-library)-128 +2193 y Fi(\347\340\343\360\363\347\350\362\374)26 b(\350\347)i +(\361\362)n(\340\355\344\340\360\362\355\356\343\356)c +(\361\350\361\362\345\354\355\356\343\356)j(\352)n(\340\362)n +(\340\353\356\343)n(\340)1112 b Fg(M-x)42 b(load-library)-128 2438 y Fh(28)131 b(\317\360\356\361\362)l(\340\377)45 b(\355\340\361\362\360\356\351\352)l(\340)-78 2619 y -Fi(\355\340\361\362\360\356\350\362\374)28 b -(\357\345\360\345\354\345\355\355\373\345)g(\350)f +Fi(\355\340\361\362\360\356\350\362\374)26 b +(\357\345\360\345\354\345\355\355\373\345)i(\350)f (\356\364\356\360\354\353\345\355\350\345)g(\(faces\))1249 -b Fg(M-x)42 b(customize)-128 2720 y Fi(\321\356\347\344\340\362\374)27 -b(\343)n(\353\356\341\340\353\374\355\356\345)e(\355\340\347\355\340)n -(\367\345\355\350\345)i(\352\353\376\367\345\351)h(\355\340)f(Emacs)h -(Lisp)f(\(\357\360\350\354\345\360\):)-128 2902 y Fg(\(global-set-key) -38 b("\\C-cg")i('goto-line\))-128 3002 y(\(global-set-key)e("\\M-#")j +b Fg(M-x)42 b(customize)-128 2720 y Fi +(\321\356\347\344\340\355\350\345)27 b(\343)n +(\353\356\341\340\353\374\355\373\365)f +(\357\360\350\342\377\347\356\352)g(\352\353\340\342\350\370)h +(\(\352\353\376\367\345\351\))i(\355\340)e(Emacs)h(Lisp)f +(\(\357\360\350\354\345\360\373\):)-128 2902 y Fg(\(global-set-key)38 +b("\\C-cg")i('goto-line\))-128 3002 y(\(global-set-key)e("\\M-#")j ('query-replace-)o(re)o(gex)o(p\))-128 3276 y Fh(29)131 b(\315\340\357\350\361\340\355\350\345)44 b(\352)l (\356\354\340\355\344)-128 3458 y Fg(\(defun)d()d @@ -2059,28 +5852,28 @@ b(\315\340\357\350\361\340\355\350\345)44 b(\352)l 4421 y(\(recenter)h(\(if)k(\(null)e(line\))570 4521 y(0)483 4621 y(\(prefix-numeric)o(-v)o(al)o(ue)c(line\)\)\)\))-128 4803 y Fi(\321\357\345\366\350\364\350\352)n(\340\366\350\377)30 -b Fg(interactive)25 b Fi(\361\356\356\341\371\340\345\362)j(\356)h -(\362\356\354,)h(\367\362\356)g(\340\360\343\363\354\345\355\362)g -(\355\340\344\356)e(\361\367\350\362\373\342\340\362\374)i -(\350\355\362\345\360\340\352\362\350\342\355\356.)g(\304\353\377)f +b Fg(interactive)25 b Fi(\361\356\356\341\371\340\345\362)i(\356)i +(\362\356\354,)g(\367\362\356)g(\340\360\343\363\354\345\355\362)g +(\355\340\344\356)f(\361\367\350\362\373\342\340\362\374)g +(\350\355\362\345\360\340\352\362\350\342\355\356.)g(\304\353\377)h (\344\356\357\356\353\355\350-)-128 4903 y -(\362\345\353\374\355\356\351)f -(\350\355\364\356\360\354\340\366\350\350)f -(\355\340\341\345\360\350\362\345)g Fg(C-h)43 b(f)g(interactive)p +(\362\345\353\374\355\356\351)e +(\350\355\364\356\360\354\340\366\350\350)g +(\355\340\341\345\360\350\362\345)f Fg(C-h)43 b(f)g(interactive)p Fi(.)1110 5391 y Fb(Cop)n(yrigh)n(t)1461 5389 y(c)1441 -5391 y Fa(\015)23 b Fb(1997)i(F)-6 b(ree)25 b(Soft)n(w)n(are)g(F)-6 -b(oundation,)25 b(Inc.)1214 5470 y(v2.2)f(for)g(GNU)g(Emacs)e(v)n -(ersion)j(21,)f(June)g(1997)1453 5549 y(designed)g(b)n(y)g(Stephen)i -(Gildea)1239 5628 y(\317\345\360\345\342\356)n(\344)f(Alex)e(Ott)h -()-128 5707 y(P)n(ermission)31 -b(is)h(gran)n(ted)i(to)f(mak)n(e)e(and)i(distribute)g(copies)g(of)e -(this)h(card)i(pro)n(vided)f(the)g(cop)n(yrigh)n(t)h(notice)f(and)g -(this)f(p)r(ermission)f(notice)i(are)-128 5786 y(preserv)n(ed)27 -b(on)c(all)g(copies.)-128 5864 y(F)-6 b(or)33 b(copies)f(of)g(the)h -(GNU)e(Emacs)g(man)n(ual,)g(write)h(to)h(the)f(F)-6 b(ree)34 -b(Soft)n(w)n(are)f(F)-6 b(oundation,)33 b(Inc.,)f(59)g(T)-6 -b(emple)31 b(Place,)h(Suite)g(330,)g(Boston,)h(MA)-128 -5943 y(02111-1307)26 b(USA)1860 6192 y Fi(6)p eop end +5391 y Fa(\015)23 b Fb(2006)i(F)-6 b(ree)25 b(Soft)n(w)n(are)g(F)-6 +b(oundation,)25 b(Inc.)1214 5470 y(v2.3)f(for)g(GNU)g(Emacs)f(v)n +(ersion)i(22,)f(June)g(2006)1453 5549 y(designed)g(b)n(y)g(Stephen)i +(Gildea)1242 5628 y(\317\345\360\345\342\356)n(\344)f(Alex)e(Ott)h +()-128 5707 y(P)n(ermission)32 b(is)g(gran)n(ted)i +(to)f(mak)n(e)f(and)h(distribute)g(copies)g(of)e(this)h(card)i(pro)n +(vided)f(the)g(cop)n(yrigh)n(t)h(notice)f(and)g(this)f(p)r(ermission)g +(notice)h(are)-128 5786 y(preserv)n(ed)27 b(on)c(all)g(copies.)-128 +5864 y(F)-6 b(or)28 b(copies)f(of)f(the)h(GNU)f(Emacs)h(man)n(ual,)f +(write)h(to)g(the)h(F)-6 b(ree)27 b(Soft)n(w)n(are)h(F)-6 +b(oundation,)28 b(Inc.,)e(51)h(F)-6 b(ranklin)27 b(Street,)h(Fifth)e +(Flo)r(or,)h(Boston,)g(MA)-128 5943 y(02110-1301)f(USA)1860 +6192 y Fi(6)p eop end %%Trailer userdict /end-hook known{end-hook}if diff --git a/etc/ru-refcard.tex b/etc/ru-refcard.tex index b2057f6c884..6305285961c 100644 --- a/etc/ru-refcard.tex +++ b/etc/ru-refcard.tex @@ -19,7 +19,7 @@ \newlength{\ColThreeWidth} \setlength{\ColThreeWidth}{25mm} -\newcommand{\versionnumber}[0]{2.2} +\newcommand{\versionnumber}[0]{2.3} \newcommand{\nyear}[0]{2006} \newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill @@ -29,9 +29,9 @@ \newcommand\copyrightnotice[0]{ \vskip 1ex plus 2 fill\begingroup\footnotesize \centerline{Copyright \copyright\ \nyear\ Free Software Foundation, Inc.} -\centerline{v\versionnumber{} for GNU Emacs version 21, June \nyear} +\centerline{v\versionnumber{} for GNU Emacs version 22, June \nyear} \centerline{designed by Stephen Gildea} -\centerline{ðÅÒÅ×ÏÄ Alex Ott } +\centerline{ðÅÒÅ×ÏÄ Alex Ott } Permission is granted to make and distribute copies of this card provided the copyright notice and this permission notice @@ -53,14 +53,12 @@ %\begin{multicols}{3} -\centerline{óÐÒÁ×ÏÞÎÁÑ ËÁÒÔÁ ÐÏ GNU Emacs} -\centerline{(ÄÌÑ ×ÅÒÓÉÉ 21)} +\centerline{óÐÒÁ×ÏÞÎÉË ËÏÍÁÎÄ GNU Emacs} +\centerline{(ÄÌÑ ×ÅÒÓÉÉ 22)} \section{úÁÐÕÓË Emacs} -äÌÑ ÚÁÐÕÓËÁ GNU Emacs 21, ÐÒÏÓÔÏ ÎÁÂÅÒÉÔÅ ÉÍÑ ÐÒÏÇÒÁÍÍÙ: \kbd{emacs} - -ï ÔÏÍ, ËÁË ÏÔËÒÙ×ÁÔØ ÆÁÊÌÙ, ÞÉÔÁÊÔÅ ÄÁÌÅÅ × ÒÁÚÄÅÌÅ æÁÊÌÙ. +äÌÑ ÚÁÐÕÓËÁ GNU Emacs 22, ÐÒÏÓÔÏ ÎÁÂÅÒÉÔÅ ÉÍÑ ÐÒÏÇÒÁÍÍÙ: \kbd{emacs} \section{÷ÙÈÏÄ ÉÚ Emacs} @@ -72,28 +70,28 @@ \section{ \section{æÁÊÌÙ} \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}} -{\bf ÏÔËÒÙÔØ} ÆÁÊÌ × ÂÕÆÅÒÅ Emacs & \kbd{C-x C-f} \\ +{\bf ÏÔËÒÙÔØ} ÆÁÊÌ × Emacs & \kbd{C-x C-f} \\ {\bf ÓÏÈÒÁÎÉÔØ} ÆÁÊÌ ÏÂÒÁÔÎÏ ÎÁ ÄÉÓË & \kbd{C-x C-s} \\ ÓÏÈÒÁÎÉÔØ {\bf ×ÓÅ} ÆÁÊÌÙ & \kbd{C-x s} \\ {\bf ×ÓÔÁ×ÉÔØ} ÓÏÄÅÒÖÉÍÏÅ ÄÒÕÇÏÇÏ ÆÁÊÌÁ × ÔÅËÕÝÉÊ ÂÕÆÅÒ & \kbd{C-x i} \\ ÏÔËÒÙÔØ ÎÕÖÎÙÊ ×ÁÍ ÆÁÊÌ ×ÍÅÓÔÏ ÔÅËÕÝÅÇÏ & \kbd{C-x C-v} \\ ÓÏÈÒÁÎÉÔØ ÂÕÆÅÒ × ÕËÁÚÁÎÎÏÍ ÆÁÊÌÅ & \kbd{C-x C-w} \\ -÷ËÌÀÞÉÔØ/×ÙËÌÀÞÉÔØ ÓÏÓÔÏÑÎÉÅ ÂÕÆÅÒÁ ``ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ'' & \kbd{C-x C-q} \\ +ðÅÒÅËÌÀÞÉÔØ ÓÏÓÔÏÑÎÉÅ ÂÕÆÅÒÁ ``ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ'' & \kbd{C-x C-q} \\ \end{tabular} \section{ðÏÌÕÞÅÎÉÅ ÐÏÍÏÝÉ} óÐÒÁ×ÏÞÎÁÑ ÓÉÓÔÅÍÁ ÄÏÓÔÁÔÏÞÎÏ ÐÒÏÓÔÁ. HÁÖÍÉÔÅ \kbd{C-h} (ÉÌÉ \kbd{F1}) É -ÓÌÅÄÕÊÔÅ ÉÎÓÔÒÕËÃÉÑÍ. åÓÌÉ ×Ù × ÐÅÒ×ÙÊ ÒÁÚ ÒÁÂÏÔÁÅÔÅ Ó Emacs, ÎÁÂÅÒÉÔÅ +ÓÌÅÄÕÊÔÅ ÉÎÓÔÒÕËÃÉÑÍ. åÓÌÉ ×Ù × ÐÅÒ×ÙÊ ÒÁÚ ÒÁÂÏÔÁÅÔÅ Ó Emacs, ÔÏ ÎÁÂÅÒÉÔÅ \kbd{C-u C-h t Russian RET} ÄÌÑ ×ÙÚÏ×Á {\bf ÕÞÅÂÎÉËÁ}. \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}} -úÁËÒÙÔØ ÏËÎÏ ÓÐÒÁ×ËÉ & \kbd{C-x 1} \\ +óËÒÙÔØ ÏËÎÏ ÓÐÒÁ×ËÉ & \kbd{C-x 1} \\ ðÒÏËÒÕÔÉÔØ ÏËÎÏ ÓÐÒÁ×ËÉ & \kbd{C-M-v} \\ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\ -ÐÏËÁÚÁÔØ ÉÍÑ ÆÕÎËÃÉÉ, ËÏÔÏÒÁÑ ÚÁÐÕÓËÁÅÔÓÑ ËÌÁ×ÉÛÅÊ & \kbd{C-h c} \\ -ÏÐÉÓÁÔØ ÆÕÎËÃÉÀ & \kbd{C-h f} \\ +ÐÏËÁÚÁÔØ ÉÍÑ ÆÕÎËÃÉÉ, ËÏÔÏÒÁÑ ÚÁÐÕÓËÁÅÔÓÑ ËÌÁ×ÉÛÅÊ & \kbd{C-h k} \\ +ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÆÕÎËÃÉÉ & \kbd{C-h f} \\ ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÒÅÖÉÍÅ & \kbd{C-h m} \\ \end{tabular} @@ -102,7 +100,7 @@ \section{ \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}} {\bf ÐÒÅÒ×ÁÔØ} ÞÁÓÔÉÞÎÏ ÎÁÂÒÁÎÎÕÀ ÉÌÉ ÉÓÐÏÌÎÑÅÍÕÀ ËÏÍÁÎÄÕ & \kbd{C-g} \\ {\bf ×ÏÓÓÔÁÎÏ×ÉÔØ} ÆÁÊÌ, ÐÏÔÅÒÑÎÎÙÊ ÐÒÉ ËÒÁÈÅ ÓÉÓÔÅÍÙ & \kbd{M-x recover-file} \\ -{\bf ÏÔÍÅÎÉÔØ} ÎÅÖÅÌÁÔÅÌØÎÙÅ ÉÚÍÅÎÅÎÉÑ & \kbd{C-x u {\rm ÉÌÉ} C-\_} \\ +{\bf ÏÔÍÅÎÉÔØ} ÎÅÖÅÌÁÔÅÌØÎÙÅ ÉÚÍÅÎÅÎÉÑ & \kbd{C-x u, C-\_ {\rm ÉÌÉ} C-/} \\ ×ÏÓÓÔÁÎÏ×ÉÔØ ÂÕÆÅÒ × ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÓÏÓÔÏÑÎÉÅ & \kbd{M-x revert-buffer} \\ ÐÅÒÅÒÉÓÏ×ÁÔØ ÚÁÐÏÌÎÅÎÎÙÊ ÍÕÓÏÒÏÍ ÜËÒÁÎ & \kbd{C-l} \\ \end{tabular} @@ -112,7 +110,7 @@ \section{H \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}} ÐÏÉÓË ×ÐÅÒÅÄ & \kbd{C-s} \\ ÐÏÉÓË ÎÁÚÁÄ & \kbd{C-r} \\ -ÐÏÉÓË ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ & \kbd{C-M-s} \\ +ÐÏÉÓË ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ ×ÐÅÒÅÄ & \kbd{C-M-s} \\ ÐÏÉÓË ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ ÎÁÚÁÄ & \kbd{C-M-r} \\ ×ÙÂÒÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÓÔÒÏËÕ ÐÏÉÓËÁ & \kbd{M-p} \\ @@ -124,7 +122,7 @@ \section{H äÌÑ ÐÏ×ÔÏÒÁ ÐÏÉÓËÁ × ÌÀÂÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ ÉÓÐÏÌØÚÕÊÔÅ ËÌÁ×ÉÛÉ \kbd{C-s} ÉÌÉ \kbd{C-r}. åÓÌÉ Emacs ×ÓÅ ÅÝÅ ÐÒÏÉÚ×ÏÄÉÔ ÐÏÉÓË, \kbd{C-g} ÏÔÍÅÎÉÔ ÔÏÌØËÏ -ÎÅÓÄÅÌÁÎÎÕÀ ÞÁÓÔØ. +ÎÅ ×ÙÐÏÌÎÅÎÎÕÀ ÞÁÓÔØ. \section{ðÅÒÅÍÅÝÅÎÉÅ} @@ -148,7 +146,7 @@ \section{ ÐÒÏËÒÕÔËÁ ÜËÒÁÎÁ ××ÅÒÈ & \kbd{M-v} \\ ÐÒÏËÒÕÔËÁ ×ÌÅ×Ï & \kbd{C-x <} \\ ÐÒÏËÒÕÔËÁ ×ÐÒÁ×Ï & \kbd{C-x >} \\ -ÐÒÏËÒÕÔËÁ ÔÅËÕÝÅÊ ÓÔÒÏËÉ × ÃÅÎÔÒ ÜËÒÁÎÁ & \kbd{C-u C-l} \\ +ÕÓÔÁÎÏ×ËÁ ÔÅËÕÝÅÊ ÓÔÒÏËÉ × ÃÅÎÔÒ ÜËÒÁÎÁ & \kbd{C-u C-l} \\ \end{tabular} \section{õÎÉÞÔÏÖÅÎÉÅ É ÕÄÁÌÅÎÉÅ} @@ -175,8 +173,8 @@ \section{ \section{ðÏÍÅÔËÁ} \begin{tabular}{p{\ColWidth}l} -ÕÓÔÁÎÏ×ÉÔØ ÐÏÍÅÔËÉ & \kbd{C-@ {\rm or} C-SPC} \\ -ÏÂÍÅÎÑÔØ ÍÅÓÔÁÍÉ ËÕÒÓÏÒ É ÐÏÍÅÔËÕ & \kbd{C-x C-x} \\ +ÕÓÔÁÎÏ×ÉÔØ ÐÏÍÅÔËÉ & \kbd{C-@ {\rm ÉÌÉ} C-SPC} \\ +ÐÏÍÅÎÑÔØ ÍÅÓÔÁÍÉ ËÕÒÓÏÒ É ÐÏÍÅÔËÕ & \kbd{C-x C-x} \\ ÐÏÍÅÔÉÔØ {\it arg\/} {\bf ÓÌÏ×} & \kbd{M-@} \\ ÐÏÍÅÔÉÔØ {\bf ÐÁÒÁÇÒÁÆ} & \kbd{M-h} \\ @@ -193,7 +191,7 @@ \section{ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ & \kbd{M-x query-replace-regexp} \\ \end{tabular} -÷ ÒÅÖÉÍÅ ÉÎÔÅÒÁËÔÉ×ÎÏÊ ÚÁÍÅÎÙ ÐÏÌØÚÏ×ÁÔÅÌÀ ÄÏÓÔÕÐÎÙ ÓÌÅÄÕÀÝÉÅ ÏÔ×ÅÔÙ: +÷ ÒÅÖÉÍÅ ÉÎÔÅÒÁËÔÉ×ÎÏÊ ÚÁÍÅÎÙ ÐÏÌØÚÏ×ÁÔÅÌÀ ÄÏÓÔÕÐÎÙ ÓÌÅÄÕÀÝÉÅ ËÏÍÁÎÄÙ: \begin{tabular}{p{\ColWidth}l} {\bf ÚÁÍÅÎÉÔØ} ÄÁÎÎÏÅ ÓÏÏÔ×ÅÔÓÔ×ÉÅ, ÐÅÒÅÊÔÉ Ë ÓÌÅÄÕÀÝÅÍÕ & \kbd{SPC} \\ @@ -201,14 +199,14 @@ \section{ {\bf ÐÒÏÐÕÓÔÉÔØ} ÓÏÏÔ×ÅÔÓÔ×ÉÅ ÂÅÚ ÚÁÍÅÎÙ & \kbd{DEL} \\ ÚÁÍÅÎÉÔØ ×ÓÅ ÏÓÔÁ×ÛÉÅÓÑ ÓÏÏÔ×ÅÔÓÔ×ÉÑ & \kbd{!} \\ {\bf ×ÅÒÎÕÔØÓÑ} Ë ÐÒÅÄÙÄÕÝÅÍÕ ÓÏÏÔ×ÅÔÓÔ×ÉÀ & \kbd{\^} \\ -{\bf ×ÙÊÔÉ} ÉÚ ÒÅÖÉÍÁ ÚÁÍÅÎÁ Ó ÚÁÐÒÏÓÏÍ & \kbd{RET} \\ +{\bf ×ÙÊÔÉ} ÉÚ ÒÅÖÉÍÁ ``ÚÁÍÅÎÁ Ó ÚÁÐÒÏÓÏÍ'' & \kbd{RET} \\ ×ÏÊÔÉ × ÒÅÖÉÍ ÒÅËÕÒÓÉ×ÎÏÇÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ (ÄÌÑ ×ÙÈÏÄÁ ÉÓÐÏÌØÚÕÅÔÓÑ \kbd{C-M-c}) & \kbd{C-r} \\ \end{tabular} -\section{íÎÏÖÅÓÔ×Ï ÏËÏÎ} +\section{éÓÐÏÌØÚÏ×ÁÎÉÅ ÎÅÓËÏÌØËÉÈ ÏËÏÎ} ëÏÍÁÎÄÙ, ÐÒÉ×ÅÄÅÎÎÙÅ ×Ï ×ÔÏÒÏÍ ÓÔÏÌÂÃÅ, ÐÒÉÍÅÎÑÀÔÓÑ Ë ÄÒÕÇÏÍÕ -(ÎÅÁËÔÉ×ÎÏÍÕ) ÏËÎÕ. +ÆÒÜÊÍÕ (ÏËÎÕ ÉÓÐÏÌØÚÕÅÍÏÊ ÏËÏÎÎÏÊ ÓÉÓÔÅÍÙ). \begin{tabular}{p{\ColWidth}l} ÕÄÁÌÉÔØ ×ÓÅ ÏÓÔÁÌØÎÙÅ ÏËÎÁ & \kbd{C-x 1} \\ @@ -256,11 +254,11 @@ \section{ ÕÄÁÌÉÔØ ÐÕÓÔÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ×ÏËÒÕÇ ËÕÒÓÏÒÁ & \kbd{M-$\backslash$} \\ ÐÏÍÅÓÔÉÔØ ÔÏÌØËÏ ÏÄÉÎ ÐÒÏÂÅÌ × ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ & \kbd{M-SPC} \\ -ÚÁÐÏÌÎÉÔØ ÔÅËÕÝÉÊ ÐÁÒÁÇÒÁÆ & \kbd{M-q} \\ +ÏÔÆÏÒÍÁÔÉÒÏ×ÁÔØ ÔÅËÕÝÉÊ ÐÁÒÁÇÒÁÆ & \kbd{M-q} \\ ÕÓÔÁÎÏ×ÉÔØ ÓÔÏÌÂÅà ÚÁÐÏÌÎÅÎÉÑ & \kbd{C-x f} \\ ÕÓÔÁÎÏ×ÉÔØ ÐÒÅÆÉËÓ ÚÁÐÏÌÎÅÎÉÑ ËÁÖÄÏÊ ÓÔÒÏËÉ & \kbd{C-x .} \\ -ÕÓÔÁÎÏ×ÉÔØ ÎÁÞÅÒÔÁÎÉÅ & \kbd{M-g} \\ +ÕÓÔÁÎÏ×ÉÔØ ÎÁÞÅÒÔÁÎÉÅ (face) & \kbd{M-g} \\ \end{tabular} \section{éÚÍÅÎÅÎÉÅ ÒÅÇÉÓÔÒÁ} @@ -283,8 +281,8 @@ \section{ ÄÏÐÏÌÎÉÔØ ÄÏ ÏÄÎÏÇÏ ÓÌÏ×Á & \kbd{SPC} \\ ÄÏÐÏÌÎÉÔØ É ×ÙÐÏÌÎÉÔØ & \kbd{RET} \\ ÐÏËÁÚÁÔØ ×ÏÚÍÏÖÎÙÅ ÄÏÐÏÌÎÅÎÉÑ & \kbd{?} \\ -×ÙÂÒÁÔØ ÐÒÅÄÙÄÕÝÉÊ ××ÏÄ × ÍÉÎÉÂÕÆÅÒ & \kbd{M-p} \\ -×ÙÂÒÁÔØ ÓÌÅÄÕÀÝÉÊ ××ÏÄ × ÍÉÎÉÂÕÆÅÒ & \kbd{M-n} \\ +×ÙÂÒÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÓÔÒÏËÕ ÉÚ ÉÓÔÏÒÉÉ ××ÏÄÁ & \kbd{M-p} \\ +×ÙÂÒÁÔØ ÓÌÅÄÕÀÝÕÀ ÓÔÒÏËÕ ÉÚ ÉÓÔÏÒÉÉ ××ÏÄÁ & \kbd{M-n} \\ ÐÏÉÓË × ÉÓÔÏÒÉÉ ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ × ÏÂÒÁÔÎÏÍ ÎÁÐÒ×ÌÅÎÉÉ & \kbd{M-r} \\ ÐÏÉÓË × ÉÓÔÏÒÉÉ ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ × ÐÒÑÍÏÍ ÎÁÐÒ×ÌÅÎÉÉ & \kbd{M-s} \\ ÐÒÅÒ×ÁÔØ ËÏÍÁÎÄÕ & \kbd{C-g} \\ @@ -302,7 +300,7 @@ \section{ ÕÎÉÞÔÏÖÉÔØ ÂÕÆÅÒ & \kbd{C-x k} \\ \end{tabular} -\section{ïÂÍÅÎ ÍÅÓÔÁÍÉ} +\section{ðÅÒÅÓÔÁÎÏ×ËÁ ÄÁÎÎÙÈ} \begin{tabular}{p{\ColWidth}l} ÏÂÍÅÎÑÔØ ÍÅÓÔÁÍÉ {\bf ÓÉÍ×ÏÌÙ} & \kbd{C-t} \\ @@ -311,7 +309,7 @@ \section{ ÏÂÍÅÎÑÔØ ÍÅÓÔÁÍÉ {\bf ×ÙÒÁÖÅÎÉÑ} & \kbd{C-M-t} \\ \end{tabular} -\section{ðÒÏ×ÅÒËÁ ÇÒÁÍÍÁÔÉËÉ} +\section{ðÒÏ×ÅÒËÁ ÐÒÁ×ÏÐÉÓÁÎÉÑ} \begin{tabular}{p{\ColWidth}l} ÐÒÏ×ÅÒÉÔØ ÔÅËÕÝÅÅ ÓÌÏ×Ï & \kbd{M-\$} \\ @@ -324,7 +322,7 @@ \section{ \begin{tabular}{p{\ColWidth}l} ÎÁÊÔÉ ÏÐÒÅÄÅÌÅÎÉÅ ÔÅÇÁ & \kbd{M-.} \\ ÎÁÊÔÉ ÓÌÅÄÕÀÝÅÅ ×ÈÏÖÄÅÎÉÅ ÔÅÇÁ & \kbd{C-u M-.} \\ -ÕËÁÚÁÔØ ÎÏ×ÙÊ ÆÁÊÌ Ó ÔÅÇÁÍÉ & \kbd{M-x visit-tags-table} \\ +ÉÓÐÏÌØÚÏ×ÁÔØ ÎÏ×ÙÊ ÆÁÊÌ Ó ÔÅÇÁÍÉ & \kbd{M-x visit-tags-table} \\ ÐÏÉÓË ÐÏ ÛÁÂÌÏÎÕ ÐÏ ×ÓÅÊ ÔÁÂÌÉÃÅ ÔÅÇÏ× & \kbd{M-x tags-search} \\ ×ÙÐÏÌÎÉÔØ query-replace ÎÁÄ ×ÓÅÍÉ ÆÁÊÌÁÍÉ & \kbd{M-x tags-query-replace} \\ @@ -395,7 +393,7 @@ \section{ \section{íÅÖÄÕÎÁÒÏÄÎÙÅ ÎÁÂÏÒÙ ÓÉÍ×ÏÌÏ×} \begin{tabular}{p{\ColWidth}l} -×ÙÂÒÁÔØ ÑÚÙË & \kbd{M-x set-language-environment} \\ +×ÙÂÒÁÔØ ÑÚÙË & \kbd{C-x RET l} \\ ÐÏËÁÚÁÔØ ×ÓÅ ×ÏÚÍÏÖÎÙÅ ÍÅÔÏÄÙ ××ÏÄÁ & \kbd{M-x list-input-methods} \\ ÒÁÚÒÅÛÉÔØ ÉÌÉ ÚÁÐÒÅÔÉÔØ ÍÅÔÏÄ ××ÏÄÁ & \kbd{C-$\backslash$} \\ ÕÓÔÁÎÏ×ÉÔØ ÓÉÓÔÅÍÕ ËÏÄÉÒÏ×ÁÎÉÑ ÄÌÑ ÓÌÅÄÕÀÝÅÊ ËÏÍÁÎÄÙ & \kbd{C-x RET c} \\ @@ -407,7 +405,7 @@ \section{ \begin{tabular}{p{\ColWidth}l} ÚÁÐÕÓÔÉÔØ ÓÉÓÔÅÍÕ ÄÏÓÔÕÐÁ Ë ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{C-h i} \\ -ÎÁÊÔÉ ÕËÁÚÁÎÎÕÀ ÆÕÎËÃÉÀ ÉÌÉ ÐÅÒÅÍÅÎÎÕÀ × ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{C-h C-i} \\ +ÎÁÊÔÉ ÕËÁÚÁÎÎÕÀ ÆÕÎËÃÉÀ ÉÌÉ ÐÅÒÅÍÅÎÎÕÀ × ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{C-h S} \\ \end{tabular} ðÅÒÅÍÅÝÅÎÉÅ ×ÎÕÔÒÉ ÕÚÌÁ (ÎÏÄÁÍÉ): @@ -424,11 +422,12 @@ \section{ {\bf ÓÌÅÄÕÀÝÉÊ} ÕÚÅÌ & \kbd{n} \\ {\bf ÐÒÅÄÙÄÕÝÉÊ} ÕÚÅÌ & \kbd{p} \\ ÐÅÒÅÊÔÉ Ë {\bf ×ÅÒÈÎÅÍÕ} ÕÚÌÕ & \kbd{u} \\ -×ÙÂÒÁÔØ ÍÅÎÀ ÐÏ ÉÍÅÎÉ & \kbd{m} \\ +×ÙÂÒÁÔØ ÐÕÎËÔ ÍÅÎÀ ÐÏ ÉÍÅÎÉ & \kbd{m} \\ ×ÙÂÒÁÔØ {\it n\/}-Ê ÐÕÎËÔ ÍÅÎÀ ÐÏ ÎÏÍÅÒÕ (1--9) & \kbd{{\it n}} \\ -ÐÅÒÅÊÔÉ ÐÏ ÓÓÙÌËÅ (×ÏÚ×ÒÁÔ Ó ÐÏÍÏÝØÀ \kbd{l}) & \kbd{f} \\ +ÐÅÒÅÊÔÉ ÐÏ ÓÓÙÌËÅ (×ÏÚ×ÒÁÔ Ó ÐÏÍÏÝØÀ \kbd{l}) & \kbd{f} \\ ×ÏÚ×ÒÁÔÉÔÓÑ Ë ÐÏÓÌÅÄÎÅÍÕ ÐÒÏÓÍÏÔÒÅÎÎÏÍÕ ÕÚÌÕ & \kbd{l} \\ ×ÏÚ×ÒÁÔÉÔÓÑ Ë ÕÚÌÕ-ËÁÔÁÌÏÇÕ & \kbd{d} \\ +ðÅÒÅÊÔÉ Ë ×ÅÒÈÅÍÕ ÕÚÌÕ ÆÁÊÌÁ & \kbd{t} \\ ÐÅÒÅÊÔÉ Ë ÕÚÌÕ, ÚÁÄÁÎÎÏÍÕ ÉÍÅÎÅÍ & \kbd{g} \\ \end{tabular} @@ -436,8 +435,8 @@ \section{ \begin{tabular}{p{\ColWidth}l} ÚÁÐÕÓÔÉÔØ {\bf ÕÞÅÂÎÉË} ÐÏ ÓÉÓÔÅÍÅ ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{h} \\ +ÐÏÉÓË ÔÅÍÙ × ÉÎÄÅËÓÅ & \kbd{i} \\ ÐÏÉÓË × ÕÚÌÁÈ Ó ÐÏÍÏÝØÀ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ & \kbd{s} \\ -% look up a subject in the indices & \kbd{i} % FIXME {\bf ÐÒÅËÒÁÔÉÔØ ÒÁÂÏÔÕ} Ó ÄÏËÕÍÅÎÔÁÃÉÅÊ & \kbd{q} \\ \end{tabular} @@ -481,7 +480,7 @@ \section{ % The intended audience here is the person who wants to make simple % customizations and knows Lisp syntax. -óÏÚÄÁÔØ ÇÌÏÂÁÌØÎÏÅ ÎÁÚÎÁÞÅÎÉÅ ËÌÀÞÅÊ ÎÁ Emacs Lisp (ÐÒÉÍÅÒ): +óÏÚÄÁÎÉÅ ÇÌÏÂÁÌØÎÙÈ ÐÒÉ×ÑÚÏË ËÌÁ×ÉÛ (ËÌÀÞÅÊ) ÎÁ Emacs Lisp (ÐÒÉÍÅÒÙ): \begin{verbatim} (global-set-key "\C-cg" 'goto-line) From 6232e72d6bbdf7a9eae08c9edc71208a86e0bb22 Mon Sep 17 00:00:00 2001 From: Reiner Steib Date: Mon, 17 Jul 2006 15:53:32 +0000 Subject: [PATCH 269/336] Update refcard section. --- admin/ChangeLog | 4 ++++ admin/FOR-RELEASE | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/admin/ChangeLog b/admin/ChangeLog index c8d95c8f668..51c8fa9100b 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,7 @@ +2006-07-17 Reiner Steib + + * FOR-RELEASE: Update refcard section. + 2006-07-14 Kim F. Storm * FOR-RELEASE (BUGS): High cpu load on windows server sockets fixed. diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index f88a277f525..f6654bb3c34 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -18,12 +18,12 @@ make sure all the pages really look ok in the manual as formatted. Requests to have been sent out on 2006-05-23 (Reiner Steib). LANG Translator Status -cs Pavel Janík No response +cs Pavel Janík Can't work on it now. de Sven Joachim Done fr Eric Jacoboni Done (layout might be improved) pl WÅ‚odek Bzyl Done pt-br Rodrigo Real Done -ru Alex Ott Working +ru Alex Ott Done sk Miroslav VaÅ¡ko No response Reminders sent out on 2006-06-08. From aed19764254cd2620930d9a3ee346f09ae9674b7 Mon Sep 17 00:00:00 2001 From: "J.D. Smith" Date: Mon, 17 Jul 2006 17:10:32 +0000 Subject: [PATCH 270/336] Fix menu typo. --- lisp/progmodes/idlw-shell.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el index bdc8161c80f..f4c117fd935 100644 --- a/lisp/progmodes/idlw-shell.el +++ b/lisp/progmodes/idlw-shell.el @@ -4384,7 +4384,7 @@ idlwave-shell-electric-debug-mode-map) ["Edit Default Cmd" idlwave-shell-edit-default-command-line t]) ("Breakpoints" ["Set Breakpoint" idlwave-shell-break-here - :keys "C-c C-d C-c" :active (eq major-mode 'idlwave-mode)] + :keys "C-c C-d C-b" :active (eq major-mode 'idlwave-mode)] ("Set Special Breakpoint" ["Set After Count Breakpoint" (progn From f2920ffe8e0be5d4e9dd57e4fc673b7119cb0045 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 20:55:07 +0000 Subject: [PATCH 271/336] (tar-superior-buffer, archive-superior-buffer): Add defvars to silence warnings. --- lisp/image-mode.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lisp/image-mode.el b/lisp/image-mode.el index 66d7fb6c16a..523ef3f73a8 100644 --- a/lisp/image-mode.el +++ b/lisp/image-mode.el @@ -118,6 +118,9 @@ information on these modes." (if (get-text-property (point-min) 'display) (image-toggle-display))) +(defvar archive-superior-buffer) +(defvar tar-superior-buffer) + (defun image-toggle-display () "Start or stop displaying an image file as the actual image. This command toggles between showing the text of the image file From 90b80b6944967a203d7ecc74a81f447328b321bd Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 20:56:18 +0000 Subject: [PATCH 272/336] (Syntactic Font Lock): Give default for font-lock-syntax-table. --- lispref/modes.texi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lispref/modes.texi b/lispref/modes.texi index c98039d7ae0..8e64ece7066 100644 --- a/lispref/modes.texi +++ b/lispref/modes.texi @@ -2918,7 +2918,8 @@ way for a mode to set this variable to @code{t} is with @defvar font-lock-syntax-table This variable holds the syntax table to use for fontification of comments and strings. Specify it using @var{syntax-alist} in -@code{font-lock-defaults}. +@code{font-lock-defaults}. If this is @code{nil}, fontification uses +the buffer's syntax table. @end defvar @defvar font-lock-beginning-of-syntax-function From 6a20a6062ef6aef2d63444e6ad1c77cb668de59f Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 20:56:58 +0000 Subject: [PATCH 273/336] (File Local Variables): Clarify that file local variables make buffer-local bindings. --- lispref/variables.texi | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lispref/variables.texi b/lispref/variables.texi index 656224367ac..574302a04f1 100644 --- a/lispref/variables.texi +++ b/lispref/variables.texi @@ -1744,10 +1744,12 @@ local bindings, we will provide it in a subsequent Emacs version. @node File Local Variables @section File Local Variables - This section describes the functions and variables that affect -processing of file local variables. @xref{File variables, , -Local Variables in Files, emacs, The GNU Emacs Manual}, for basic -information about file local variables. + A file can specify local variable values; Emacs uses these to create +buffer-local bindings for those variables in the buffer visiting that +file. @xref{File variables, , Local Variables in Files, emacs, The +GNU Emacs Manual}, for basic information about file local variables. +This section describes the functions and variables that affect +processing of file local variables. @defopt enable-local-variables This variable controls whether to process file local variables. A From daeeeffc3fc165eb372bd9786bc38d13d39dff3e Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 20:57:24 +0000 Subject: [PATCH 274/336] *** empty log message *** --- lisp/ChangeLog | 7 +++++-- lispref/ChangeLog | 8 ++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e7fbe2131ab..5dd8940fed7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-17 Richard Stallman + + * image-mode.el (tar-superior-buffer, archive-superior-buffer): + Add defvars to silence warnings. + 2006-07-17 Chong Yidong * progmodes/compile.el (compilation-mode-font-lock-keywords): @@ -2183,8 +2188,6 @@ to `ispell-local-dictionary'. (ispell-internal-change-dictionary): Check for a change in personal dictionary use too. - Cosmetic changes from Agustin Martin - . 2006-05-05 Eli Zaretskii diff --git a/lispref/ChangeLog b/lispref/ChangeLog index bc9e67f15e4..7ed5ed986b8 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,11 @@ +2006-07-17 Richard Stallman + + * variables.texi (File Local Variables): Clarify that + file local variables make buffer-local bindings. + + * modes.texi (Syntactic Font Lock): Give default for + font-lock-syntax-table. + 2006-07-17 Nick Roberts * text.texi (Special Properties): Clean up previous change. From 7ae038f07e21a0fab4f515bb39c0340a66af1d84 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 20:58:27 +0000 Subject: [PATCH 275/336] (Grep Searching): Explain about chaining grep commands. --- man/building.texi | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/man/building.texi b/man/building.texi index e3ca90f2863..549c69da544 100644 --- a/man/building.texi +++ b/man/building.texi @@ -359,9 +359,17 @@ that specifies how to run @code{grep}. Use the same arguments you would give @code{grep} when running it normally: a @code{grep}-style regexp (usually in single-quotes to quote the shell's special characters) followed by file names, which may use wildcards. If you -specify a prefix argument for @kbd{M-x grep}, it detects the tag -(@pxref{Tags}) around point, and puts that into the default -@code{grep} command. +specify a prefix argument for @kbd{M-x grep}, it finds the tag +(@pxref{Tags}) in the buffer around point, and puts that into the +default @code{grep} command. + + Your command need not simply run @code{grep}; you can use any shell +command that produces output in the same format. For instance, you +can chain @code{grep} commands, like this: + +@example +grep -nH -e foo *.el | grep bar | grep toto +@end example The output from @code{grep} goes in the @samp{*grep*} buffer. You can find the corresponding lines in the original files using @w{@kbd{C-x From 5d12ff0bed31f22ca4e060ac3245cf424b88dc84 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 20:59:18 +0000 Subject: [PATCH 276/336] (init_display): Mention DISPLAY as well as TERM in err msg. --- src/dispnew.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/dispnew.c b/src/dispnew.c index cf0d8668906..a0dc95a2ba8 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -6825,9 +6825,15 @@ init_display () For types defined in VMS, use set term /device=TYPE.\n\ For types not defined in VMS, use define emacs_term \"TYPE\".\n\ \(The quotation marks are necessary since terminal types are lower case.)\n"); -#else - fprintf (stderr, "Please set the environment variable TERM; see tset(1).\n"); -#endif +#else /* not VMS */ + +#ifdef HAVE_WINDOW_SYSTEM + if (inhibit_window_system) + fprintf (stderr, "Please set the environment variable TERM; see `tset'.\n"); + else +#endif /* HAVE_WINDOW_SYSTEM */ + fprintf (stderr, "Please set the environment variable DISPLAY or TERM (see `tset').\n"); +#endif /* not VMS */ exit (1); } From b9e590fc9573a874e26203ddad566325b97dc2c3 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 21:00:08 +0000 Subject: [PATCH 277/336] Fix previous change. --- src/dispnew.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dispnew.c b/src/dispnew.c index a0dc95a2ba8..3cbd878bb13 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -6828,11 +6828,11 @@ For types not defined in VMS, use define emacs_term \"TYPE\".\n\ #else /* not VMS */ #ifdef HAVE_WINDOW_SYSTEM - if (inhibit_window_system) - fprintf (stderr, "Please set the environment variable TERM; see `tset'.\n"); + if (! inhibit_window_system) + fprintf (stderr, "Please set the environment variable DISPLAY or TERM (see `tset').\n"); else #endif /* HAVE_WINDOW_SYSTEM */ - fprintf (stderr, "Please set the environment variable DISPLAY or TERM (see `tset').\n"); + fprintf (stderr, "Please set the environment variable TERM; see `tset'.\n"); #endif /* not VMS */ exit (1); } From 04d8c47ded95adc93d1bc2082c9f8a39a9d4bb86 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 21:00:58 +0000 Subject: [PATCH 278/336] (Vcommand_error_function): New variable. (syms_of_keyboard): Defvar it. (cmd_error_internal): Simplify, and handle Vcommand_error_function. --- src/keyboard.c | 75 +++++++++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 34 deletions(-) diff --git a/src/keyboard.c b/src/keyboard.c index 6bd9d754c60..4cbccb0b1a2 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -242,6 +242,9 @@ static int inhibit_local_menu_bar_menus; /* Nonzero means C-g should cause immediate error-signal. */ int immediate_quit; +/* The user's hook function for outputting an error message. */ +Lisp_Object Vcommand_error_function; + /* The user's ERASE setting. */ Lisp_Object Vtty_erase_char; @@ -1230,52 +1233,47 @@ cmd_error_internal (data, context) Lisp_Object data; char *context; { - Lisp_Object stream; - int kill_emacs_p = 0; struct frame *sf = SELECTED_FRAME (); - Vquit_flag = Qnil; - Vinhibit_quit = Qt; - clear_message (1, 0); - - /* If the window system or terminal frame hasn't been initialized - yet, or we're not interactive, it's best to dump this message out - to stderr and exit. */ - if (!sf->glyphs_initialized_p - /* This is the case of the frame dumped with Emacs, when we're - running under a window system. */ - || (!NILP (Vwindow_system) - && !inhibit_window_system - && FRAME_TERMCAP_P (sf)) - || noninteractive) - { - stream = Qexternal_debugging_output; - kill_emacs_p = 1; - } - else - { - Fdiscard_input (); - message_log_maybe_newline (); - bitch_at_user (); - stream = Qt; - } - /* The immediate context is not interesting for Quits, since they are asyncronous. */ if (EQ (XCAR (data), Qquit)) Vsignaling_function = Qnil; - print_error_message (data, stream, context, Vsignaling_function); - - Vsignaling_function = Qnil; + Vquit_flag = Qnil; + Vinhibit_quit = Qt; + /* Use user's specified output function if any. */ + if (!NILP (Vcommand_error_function)) + call3 (Vcommand_error_function, data, + build_string (context ? context : ""), + Vsignaling_function); /* If the window system or terminal frame hasn't been initialized - yet, or we're in -batch mode, this error should cause Emacs to exit. */ - if (kill_emacs_p) + yet, or we're not interactive, write the message to stderr and exit. */ + else if (!sf->glyphs_initialized_p + /* This is the case of the frame dumped with Emacs, when we're + running under a window system. */ + || (!NILP (Vwindow_system) + && !inhibit_window_system + && FRAME_TERMCAP_P (sf)) + || noninteractive) { - Fterpri (stream); + print_error_message (data, Qexternal_debugging_output, + context, Vsignaling_function); + Fterpri (Qexternal_debugging_output); Fkill_emacs (make_number (-1)); } + else + { + clear_message (1, 0); + Fdiscard_input (); + message_log_maybe_newline (); + bitch_at_user (); + + print_error_message (data, Qt, context, Vsignaling_function); + } + + Vsignaling_function = Qnil; } Lisp_Object command_loop_1 (); @@ -11484,6 +11482,15 @@ The value of that variable is passed to `quit-flag' and later causes a peculiar kind of quitting. */); Vthrow_on_input = Qnil; + DEFVAR_LISP ("command-error-function", &Vcommand_error_function, + doc: /* If non-nil, function to output error messages. +The arguments are the error data, a list of the form + (SIGNALED-CONDITIONS . SIGNAL-DATA) +such as just as `condition-case' would bind its variable to, +the context (a string which normally goes at the start of the message), +and the Lisp function within which the error was signaled. */); + Vcommand_error_function = Qnil; + DEFVAR_LISP ("enable-disabled-menus-and-buttons", &Venable_disabled_menus_and_buttons, doc: /* If non-nil, don't ignore events produced by disabled menu items and tool-bar. From 27ddcc192f668cc32cc4ee0560e5179793c4b125 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 21:07:20 +0000 Subject: [PATCH 279/336] (Processing of Errors): Add command-error-function. --- lispref/control.texi | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/lispref/control.texi b/lispref/control.texi index cabadb3b8dc..83bce85e0b3 100644 --- a/lispref/control.texi +++ b/lispref/control.texi @@ -849,11 +849,22 @@ executes in the environment of the @code{condition-case} that established it; all functions called within that @code{condition-case} have already been exited, and the handler cannot return to them. -If there is no applicable handler for the error, the current command is -terminated and control returns to the editor command loop, because the -command loop has an implicit handler for all kinds of errors. The +If there is no applicable handler for the error, it terminates the +current command and returns control to the editor command loop. (The +command loop has an implicit handler for all kinds of errors.) The command loop's handler uses the error symbol and associated data to -print an error message. +print an error message. You can use the variable +@code{command-error-function} to control how this is done: + +@defvar command-error-function +This variable, if non-@code{nil}, specifies a function to use to +handle errors that return control to the Emacs command loop. The +function should take three arguments: @var{data}, a list of the same +form that @code{condition-case} would bind to its variable; +@var{context}, a string describing the situation in which the error +occurred, or (more often) @code{nil}; and @code{caller}, the Lisp +function which called the primitive that signaled the error. +@end defvar @cindex @code{debug-on-error} use An error that has no explicit handler may call the Lisp debugger. The From 69c6ad8391353c627ef9ac52d7914db2b7d1de0a Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 17 Jul 2006 21:07:23 +0000 Subject: [PATCH 280/336] (sh-quoted-subshell): Don't match escaped `. Use `cond', push', and `dolist'. --- lisp/ChangeLog | 5 +++++ lisp/progmodes/sh-script.el | 31 +++++++++++++++++++------------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5dd8940fed7..f08169f3ac5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-17 Stefan Monnier + + * progmodes/sh-script.el (sh-quoted-subshell): Don't match escaped `. + Use `cond', push', and `dolist'. + 2006-07-17 Richard Stallman * image-mode.el (tar-superior-buffer, archive-superior-buffer): diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index ef80d28c578..48b34a99311 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -982,7 +982,10 @@ Point is at the beginning of the next line." (defun sh-quoted-subshell (limit) "Search for a subshell embedded in a string. Find all the unescaped \" characters within said subshell, remembering that subshells can nest." - (if (re-search-forward "\"\\(?:.\\|\n\\)*?\\(\\$(\\|`\\)" limit t) + ;; FIXME: This can (and often does) match multiple lines, yet it makes no + ;; effort to handle multiline cases correctly, so it ends up being + ;; rather flakey. + (if (re-search-forward "\"\\(?:\\(?:.\\|\n\\)*?[^\\]\\(\\\\\\\\\\)*\\)?\\(\\$(\\|`\\)" limit t) ;; bingo we have a $( or a ` inside a "" (let ((char (char-after (point))) (continue t) @@ -1002,23 +1005,27 @@ Point is at the beginning of the next line." ;; ( [preceeded by $ ] => increase nesting ;; " [nesting <= 0 ] => terminate, we're done. ;; " [nesting > 0 ] => remember this, it's not a proper " - (if (eq ?\\ last) nil - (if (eq ?\` char) (setq nest (+ nest (if bq -1 1)) bq (not bq)) - (if (and (> nest 0) (eq ?\) char)) (setq nest (1- nest)) - (if (and (eq ?$ last) (eq ?\( char)) (setq nest (1+ nest)) - (if (and (> nest 0) (eq ?\( char)) (setq nest (1+ nest)) - (if (eq char ?\") - (if (>= 0 nest) (setq continue nil) - (setq seen (cons pos seen)) ) )))))) + ;; FIXME: don't count parens that appear within quotes. + (cond + ((eq ?\\ last) nil) + ((eq ?\` char) (setq nest (+ nest (if bq -1 1)) bq (not bq))) + ((and (> nest 0) (eq ?\) char)) (setq nest (1- nest))) + ((and (eq ?$ last) (eq ?\( char)) (setq nest (1+ nest))) + ((and (> nest 0) (eq ?\( char)) (setq nest (1+ nest))) + ((eq char ?\") + (if (>= 0 nest) (setq continue nil) (push pos seen)))) ;;(message "POS: %d [%d]" pos nest) (setq last char pos (1+ pos) char (char-after pos)) ) + ;; FIXME: why construct a costly match data to pass to + ;; sh-apply-quoted-subshell rather than apply the highlight + ;; directly here? -- Stef (when seen ;;(message "SEEN: %S" seen) (setq data (list (current-buffer))) - (mapc (lambda (P) - (setq data (cons P (cons (1+ P) data)) ) ) seen) + (dolist(P seen) + (setq data (cons P (cons (1+ P) data)))) (store-match-data data)) data) )) @@ -1554,7 +1561,7 @@ This adds rules for comments and assignments." (regexp-opt (sh-feature sh-builtins) t) "\\>") (2 font-lock-keyword-face nil t) - (6 font-lock-builtin-face)) + (4 font-lock-builtin-face)) ,@(sh-feature sh-font-lock-keywords-var-2))) (,(concat keywords "\\)\\>") 2 font-lock-keyword-face) From 05bdf2d724324294340c1c446ed9effcde25d675 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 21:07:29 +0000 Subject: [PATCH 281/336] *** empty log message *** --- admin/FOR-RELEASE | 4 ++-- etc/NEWS | 6 ++++++ lispref/ChangeLog | 2 ++ man/ChangeLog | 4 ++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index f6654bb3c34..4fddc2dc523 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -4,8 +4,6 @@ Tasks needed before the next release. ** Update release dates of manuals. -** Get rid of overfull and underfull boxes in manuals. - ** Check for widow and orphan lines in manuals; make sure all the pages really look ok in the manual as formatted. @@ -33,6 +31,8 @@ and KDE projects, to use the new Emacs icons in etc/images/icons. * BUGS +** Simon Marshall reported on July 3, First CVS command generates empty buffer. + ** Markus Gritsch's report about Emacs looping on Windoze with the following .emacs file, and then reduce Emacs frame width to "something quite narrow": (setq-default truncate-lines t) diff --git a/etc/NEWS b/etc/NEWS index 59cb508f233..1f8ccf91d96 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -3840,6 +3840,12 @@ If it is non-nil, the function lists only faces matching this regexp. `string-or-null-p' returns non-nil iff OBJECT is a string or nil. `booleanp' returns non-nil iff OBJECT is a t or nil. ++++ +*** New hook `command-error-function'. + +By setting this variable to a function, you can control +how the editor command loop shows the user an error message. + ** Lisp code indentation features: +++ diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 7ed5ed986b8..dc000875cec 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,5 +1,7 @@ 2006-07-17 Richard Stallman + * control.texi (Processing of Errors): Add command-error-function. + * variables.texi (File Local Variables): Clarify that file local variables make buffer-local bindings. diff --git a/man/ChangeLog b/man/ChangeLog index 851c37cfdb2..86157a2c008 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,7 @@ +2006-07-17 Richard Stallman + + * building.texi (Grep Searching): Explain about chaining grep commands. + 2006-07-12 Michael Olson * erc.texi: Update for ERC 5.1.3. From 7ab56fea8a5fabe6b7fc290ac3811b93ccadd900 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 17 Jul 2006 21:07:55 +0000 Subject: [PATCH 282/336] Comment change. --- src/print.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/print.c b/src/print.c index 3f8982849d4..c36b9476f82 100644 --- a/src/print.c +++ b/src/print.c @@ -1032,7 +1032,9 @@ error message is constructed. */) } /* Print an error message for the error DATA onto Lisp output stream - STREAM (suitable for the print functions). */ + STREAM (suitable for the print functions). + CONTEXT is a C string describing the context of the error. + CALLER is the Lisp function inside which the error was signaled. */ void print_error_message (data, stream, context, caller) From a6f6840ed839bbc3c5040848db0cf642745a97aa Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 17 Jul 2006 21:22:50 +0000 Subject: [PATCH 283/336] (mh-loaddefs.el): Finish setting up the default empty file *before* telling Emacs to add the autoloads, in case it fails. --- lisp/Makefile.in | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lisp/Makefile.in b/lisp/Makefile.in index e90c6161f75..1b4a152888a 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -247,12 +247,6 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) echo ";;; Commentary:" >> $@ echo ";;; Change Log:" >> $@ echo ";;; Code:" >> $@ - $(EMACS) $(EMACSOPT) \ - -l autoload \ - --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \ - --eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \ - --eval "(setq make-backup-files nil)" \ - -f batch-update-autoloads $(lisp)/mh-e echo " " >> $@ echo "(provide 'mh-loaddefs)" >> $@ echo ";; Local Variables:" >> $@ @@ -261,6 +255,12 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) echo ";; no-update-autoloads: t" >> $@ echo ";; End:" >> $@ echo ";;; mh-loaddefs.el ends here" >> $@ + $(EMACS) $(EMACSOPT) \ + -l autoload \ + --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \ + --eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \ + --eval "(setq make-backup-files nil)" \ + -f batch-update-autoloads $(lisp)/mh-e # Prepare a bootstrap in the lisp subdirectory. # From e0a0d9fe5c1e9110589a5d164ae1ea04f50a4191 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 17 Jul 2006 21:24:17 +0000 Subject: [PATCH 284/336] (custom-variable-state-set): If the variable was originally set outside custom, but to the same value as the default, consider it to be standard. --- lisp/cus-edit.el | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 15efbc5ab91..0b578358f80 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -2668,7 +2668,18 @@ Otherwise, look up symbol in `custom-guess-type-alist'." (error nil)) (cond ((eq (caar tmp) 'user) 'saved) - ((eq (caar tmp) 'changed) 'changed) + ((eq (caar tmp) 'changed) + (if (condition-case nil + (and (null comment) + (equal value + (eval + (car (get symbol 'standard-value))))) + (error nil)) + ;; The value was originally set outside + ;; custom, but it was set to the standard + ;; value (probably an autoloaded defcustom). + 'standard + 'changed)) (t 'themed)) 'changed)) ((setq tmp (get symbol 'standard-value)) From d54fbdfd31673892ac581219860a80d13f4d8ff5 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 17 Jul 2006 21:26:32 +0000 Subject: [PATCH 285/336] (custom-autoload): Add `noset' argument. (custom-push-theme): Don't autoload the variable, let callers do it. (custom-theme-set-variables): Autoload the variable if necessary. --- lisp/custom.el | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/lisp/custom.el b/lisp/custom.el index c0169812d36..2e5c0a59d9b 100644 --- a/lisp/custom.el +++ b/lisp/custom.el @@ -558,9 +558,10 @@ LOAD should be either a library file name, or a feature name." (unless (member load loads) (put symbol 'custom-loads (cons (purecopy load) loads))))) -(defun custom-autoload (symbol load) - "Mark SYMBOL as autoloaded custom variable and add dependency LOAD." - (put symbol 'custom-autoload t) +(defun custom-autoload (symbol load &optional noset) + "Mark SYMBOL as autoloaded custom variable and add dependency LOAD. +If NOSET is non-nil, don't bother autoloading LOAD when setting the variable." + (put symbol 'custom-autoload (if noset 'noset t)) (custom-add-load symbol load)) ;; This test is also in the C code of `user-variable-p'. @@ -699,10 +700,10 @@ Return non-nil iff the `customized-value' property actually changed." (customized (get symbol 'customized-value)) (old (or (get symbol 'saved-value) (get symbol 'standard-value)))) ;; Mark default value as set iff different from old value. - (if (or (null old) - (not (equal value (condition-case nil - (eval (car old)) - (error nil))))) + (if (not (and old + (equal value (condition-case nil + (eval (car old)) + (error nil))))) (progn (put symbol 'customized-value (list (custom-quote value))) (custom-push-theme 'theme-value symbol 'user 'set (custom-quote value))) @@ -827,13 +828,9 @@ See `custom-known-themes' for a list of known themes." (if (and (eq prop 'theme-value) (boundp symbol)) (let ((sv (get symbol 'standard-value))) - (when (and (null sv) (custom-variable-p symbol)) - (custom-load-symbol symbol) - (setq sv (get symbol 'standard-value))) - (if (or (null sv) - (not (equal (eval (car (get symbol 'standard-value))) - (symbol-value symbol)))) - (setq old (list (list 'changed (symbol-value symbol)))))) + (unless (and sv + (equal (eval (car sv)) (symbol-value symbol))) + (setq old (list (list 'changed (symbol-value symbol)))))) (if (and (facep symbol) (not (face-spec-match-p symbol (get symbol 'face-defface-spec)))) (setq old (list (list 'changed (list @@ -907,6 +904,10 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')." (when requests (put symbol 'custom-requests requests) (mapc 'require requests)) + (unless (or (get symbol 'standard-value) + (memq (get symbol 'custom-autoload) '(nil noset))) + ;; This symbol needs to be autoloaded, even just for a `set'. + (custom-load-symbol symbol)) (setq set (or (get symbol 'custom-set) 'custom-set-default)) (put symbol 'saved-value (list value)) (put symbol 'saved-variable-comment comment) @@ -926,6 +927,8 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')." (setq args (cdr args)) (and (or now (default-boundp symbol)) (put symbol 'variable-comment comment))) + ;; I believe this is dead-code, because the `sort' code above would + ;; have burped before we could get here. --Stef ;; Old format, a plist of SYMBOL VALUE pairs. (message "Warning: old format `custom-set-variables'") (ding) From fb2dd970030facb437d28126095f4e00fae57c83 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 17 Jul 2006 21:27:17 +0000 Subject: [PATCH 286/336] (make-autoload): Use new arg. --- lisp/ChangeLog | 13 +++++++++++++ lisp/emacs-lisp/autoload.el | 5 ++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f08169f3ac5..22d4caba884 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,18 @@ 2006-07-17 Stefan Monnier + * emacs-lisp/autoload.el (make-autoload): Use new arg. + + * custom.el (custom-autoload): Add `noset' argument. + (custom-push-theme): Don't autoload the variable, let callers do it. + (custom-theme-set-variables): Autoload the variable if necessary. + + * cus-edit.el (custom-variable-state-set): If the variable was + originally set outside custom, but to the same value as the default, + consider it to be standard. + + * Makefile.in (mh-loaddefs.el): Finish setting up the default empty + file *before* telling Emacs to add the autoloads, in case it fails. + * progmodes/sh-script.el (sh-quoted-subshell): Don't match escaped `. Use `cond', push', and `dolist'. diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 4000b4da282..da85cbd817a 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -124,7 +124,10 @@ or macro definition or a defcustom)." ) `(progn (defvar ,varname ,init ,doc) - (custom-autoload ',varname ,file)))) + (custom-autoload ',varname ,file + ,(condition-case nil + (null (cadr (memq :set form))) + (error nil)))))) ((eq car 'defgroup) ;; In Emacs this is normally handled separately by cus-dep.el, but for From 13cad7387493267b415fa30037a510b2064aae83 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 18 Jul 2006 00:07:05 +0000 Subject: [PATCH 287/336] Put period and comma inside quotes. Use real doublequote in menus. --- lispref/elisp.texi | 20 ++++++++++---------- lispref/eval.texi | 4 ++-- lispref/text.texi | 12 ++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lispref/elisp.texi b/lispref/elisp.texi index b4c0e67347b..bbf91a8be10 100644 --- a/lispref/elisp.texi +++ b/lispref/elisp.texi @@ -47,10 +47,10 @@ Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'', with the -Front-Cover texts being ``A GNU Manual'', and with the Back-Cover +Invariant Sections being ``GNU General Public License,'' with the +Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the -section entitled ``GNU Free Documentation License''. +section entitled ``GNU Free Documentation License.'' (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free @@ -338,7 +338,7 @@ Kinds of Forms we find the real function via the symbol. * Function Forms:: Forms that call functions. * Macro Forms:: Forms that call macros. -* Special Forms:: ``Special forms'' are idiosyncratic primitives, +* Special Forms:: "Special forms" are idiosyncratic primitives, most of them extremely important. * Autoloading:: Functions set up to load files containing their real definitions. @@ -457,7 +457,7 @@ Loading * Repeated Loading:: Precautions about loading a file twice. * Named Features:: Loading a library if it isn't already loaded. * Where Defined:: Finding which file defined a certain symbol. -* Unloading:: How to ``unload'' a library that was loaded. +* Unloading:: How to "unload" a library that was loaded. * Hooks for Loading:: Providing code to be run when particular libraries are loaded. @@ -741,7 +741,7 @@ Buffers is visited. * Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. * Modification Time:: Determining whether the visited file was changed - ``behind Emacs's back''. + "behind Emacs's back". * Read Only Buffers:: Modifying text is not allowed in a read-only buffer. * The Buffer List:: How to look at all the existing buffers. @@ -830,8 +830,8 @@ Markers * Marker Insertion Types:: Two ways a marker can relocate when you insert where it points. * Moving Markers:: Moving the marker to a new buffer or position. -* The Mark:: How ``the mark'' is implemented with a marker. -* The Region:: How to access ``the region''. +* The Mark:: How "the mark" is implemented with a marker. +* The Region:: How to access "the region". Text @@ -862,8 +862,8 @@ Text * Registers:: How registers are implemented. Accessing the text or position stored in a register. * Base 64:: Conversion to or from base 64 encoding. -* MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''. -* Atomic Changes:: Installing several buffer changes ``atomically''. +* MD5 Checksum:: Compute the MD5 "message digest"/"checksum". +* Atomic Changes:: Installing several buffer changes "atomically". * Change Hooks:: Supplying functions to be run when text is changed. The Kill Ring diff --git a/lispref/eval.texi b/lispref/eval.texi index 803f3d4a70d..05229c1b7c0 100644 --- a/lispref/eval.texi +++ b/lispref/eval.texi @@ -106,7 +106,7 @@ described below (@pxref{Forms}). A Lisp object that is intended to be evaluated is called a @dfn{form}. How Emacs evaluates a form depends on its data type. Emacs has three different kinds of form that are evaluated differently: symbols, lists, -and ``all other types''. This section describes all three kinds, one by +and ``all other types.'' This section describes all three kinds, one by one, starting with the ``all other types'' which are self-evaluating forms. @@ -118,7 +118,7 @@ forms. we find the real function via the symbol. * Function Forms:: Forms that call functions. * Macro Forms:: Forms that call macros. -* Special Forms:: ``Special forms'' are idiosyncratic primitives, +* Special Forms:: "Special forms" are idiosyncratic primitives, most of them extremely important. * Autoloading:: Functions set up to load files containing their real definitions. diff --git a/lispref/text.texi b/lispref/text.texi index 59fbbf90c25..fdb45eef5f2 100644 --- a/lispref/text.texi +++ b/lispref/text.texi @@ -57,8 +57,8 @@ the character after point. * Registers:: How registers are implemented. Accessing the text or position stored in a register. * Base 64:: Conversion to or from base 64 encoding. -* MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''. -* Atomic Changes:: Installing several buffer changes ``atomically''. +* MD5 Checksum:: Compute the MD5 "message digest"/"checksum". +* Atomic Changes:: Installing several buffer changes "atomically". * Change Hooks:: Supplying functions to be run when text is changed. @end menu @@ -566,7 +566,7 @@ error; if some of the text in it is read-only, it signals a asking for any confirmation. It returns @code{nil}. Normally, deleting a large amount of text from a buffer inhibits further -auto-saving of that buffer ``because it has shrunk''. However, +auto-saving of that buffer ``because it has shrunk.'' However, @code{erase-buffer} does not do this, the idea being that the future text is not really related to the former text, and its size should not be compared with that of the former text. @@ -817,7 +817,7 @@ that treat it as a ring. Some people think this use of the word ``kill'' is unfortunate, since it refers to operations that specifically @emph{do not} destroy the -entities ``killed''. This is in sharp contrast to ordinary life, in +entities ``killed.'' This is in sharp contrast to ordinary life, in which death is permanent and ``killed'' entities do not come back to life. Therefore, other metaphors have been proposed. For example, the term ``cut ring'' makes sense to people who, in pre-computer days, used @@ -1106,8 +1106,8 @@ programs, when you are using a window system. Its value should be @code{nil} or a function of no arguments. If the value is a function, @code{current-kill} calls it to get the -``most recent kill''. If the function returns a non-@code{nil} value, -then that value is used as the ``most recent kill''. If it returns +``most recent kill.'' If the function returns a non-@code{nil} value, +then that value is used as the ``most recent kill.'' If it returns @code{nil}, then the front of the kill ring is used. The normal use of this hook is to get the window system's primary From 827b7ee7c21894a634e217ddc40c10d865bd3536 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 18 Jul 2006 00:08:15 +0000 Subject: [PATCH 288/336] Put period and comma inside quotes. --- lispref/anti.texi | 4 ++-- lispref/buffers.texi | 2 +- lispref/commands.texi | 6 +++--- lispref/control.texi | 4 ++-- lispref/display.texi | 12 ++++++------ lispref/doclicense.texi | 24 ++++++++++++------------ lispref/files.texi | 6 +++--- lispref/frames.texi | 14 +++++++------- lispref/functions.texi | 4 ++-- lispref/gpl.texi | 6 +++--- lispref/hash.texi | 4 ++-- lispref/internals.texi | 2 +- lispref/intro.texi | 4 ++-- lispref/keymaps.texi | 2 +- lispref/lists.texi | 4 ++-- lispref/minibuf.texi | 4 ++-- lispref/modes.texi | 6 +++--- lispref/numbers.texi | 2 +- lispref/objects.texi | 4 ++-- lispref/os.texi | 2 +- lispref/processes.texi | 4 ++-- lispref/streams.texi | 4 ++-- lispref/symbols.texi | 2 +- lispref/syntax.texi | 6 +++--- lispref/tips.texi | 10 +++++----- lispref/variables.texi | 4 ++-- 26 files changed, 73 insertions(+), 73 deletions(-) diff --git a/lispref/anti.texi b/lispref/anti.texi index f0c17dadd61..8636282a7c2 100644 --- a/lispref/anti.texi +++ b/lispref/anti.texi @@ -97,7 +97,7 @@ in a while, to keep Emacs Lisp programmers on their toes. @item The @code{min-colors} face attribute, used for tailoring faces to limited-color displays, does not exist. If in doubt, use colors like -``white'' and ``black'', which ought to be defined everywhere. +``white'' and ``black,'' which ought to be defined everywhere. @item The @code{tty-color-mode} frame parameter does not exist. You should @@ -170,7 +170,7 @@ the sentinel. @item Many programming shortcuts have been deleted, to provide you with the -enjoyment of ``rolling your own''. The macros @code{while-no-input}, +enjoyment of ``rolling your own.'' The macros @code{while-no-input}, @code{with-local-quit}, and @code{with-selected-window}, along with @code{dynamic-completion-table} and @code{lazy-completion-table} no longer exist. Also, there are no built-in progress reporters; diff --git a/lispref/buffers.texi b/lispref/buffers.texi index 55e41e6b3e5..46a886eaea6 100644 --- a/lispref/buffers.texi +++ b/lispref/buffers.texi @@ -484,7 +484,7 @@ correspond to the new file name, unless the new name is already in use. If @var{filename} is @code{nil} or the empty string, that stands for -``no visited file''. In this case, @code{set-visited-file-name} marks +``no visited file.'' In this case, @code{set-visited-file-name} marks the buffer as having no visited file, without changing the buffer's modified flag. diff --git a/lispref/commands.texi b/lispref/commands.texi index 2aca1b19253..df8eeae9c90 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi @@ -2165,7 +2165,7 @@ same symbol that would normally represent that combination of mouse button and modifier keys. The information about the window part is kept elsewhere in the event---in the coordinates. But @code{read-key-sequence} translates this information into imaginary -``prefix keys'', all of which are symbols: @code{header-line}, +``prefix keys,'' all of which are symbols: @code{header-line}, @code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line}, @code{vertical-line}, and @code{vertical-scroll-bar}. You can define meanings for mouse clicks in special window parts by defining key @@ -2410,7 +2410,7 @@ individual events, which you can put in @code{unread-command-events}. @defvar unread-command-char This variable holds a character to be read as command input. -A value of -1 means ``empty''. +A value of -1 means ``empty.'' This variable is mostly obsolete now that you can use @code{unread-command-events} instead; it exists only to support programs @@ -2898,7 +2898,7 @@ using the minibuffer. Usually it is more convenient for the user if you change the major mode of the current buffer temporarily to a special major mode, which should have a command to go back to the previous mode. (The @kbd{e} command in Rmail uses this technique.) Or, if you wish to -give the user different text to edit ``recursively'', create and select +give the user different text to edit ``recursively,'' create and select a new buffer in a special mode. In this mode, define a command to complete the processing and go back to the previous buffer. (The @kbd{m} command in Rmail does this.) diff --git a/lispref/control.texi b/lispref/control.texi index 83bce85e0b3..3ed0b7f90ec 100644 --- a/lispref/control.texi +++ b/lispref/control.texi @@ -221,7 +221,7 @@ non-@code{nil}, the clause ``succeeds''; then @code{cond} evaluates its @var{body-forms}, and the value of the last of @var{body-forms} becomes the value of the @code{cond}. The remaining clauses are ignored. -If the value of @var{condition} is @code{nil}, the clause ``fails'', so +If the value of @var{condition} is @code{nil}, the clause ``fails,'' so the @code{cond} moves on to the following clause, trying its @var{condition}. @@ -623,7 +623,7 @@ error is signaled with data @code{(@var{tag} @var{value})}. @subsection Examples of @code{catch} and @code{throw} One way to use @code{catch} and @code{throw} is to exit from a doubly -nested loop. (In most languages, this would be done with a ``go to''.) +nested loop. (In most languages, this would be done with a ``go to.'') Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j} varying from 0 to 9: diff --git a/lispref/display.texi b/lispref/display.texi index 5687091a31f..8d91718e0cd 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -141,7 +141,7 @@ boundary. @xref{Filling}. indicate truncated and continued lines (@pxref{Fringes}). On a text terminal, a @samp{$} in the rightmost column of the window indicates truncation; a @samp{\} on the rightmost column indicates a line that -``wraps''. (The display table can specify alternate characters to use +``wraps.'' (The display table can specify alternate characters to use for this; @pxref{Display Tables}). @defopt truncate-lines @@ -1189,7 +1189,7 @@ The return value is @var{overlay}. This is the only valid way to change the endpoints of an overlay. Do not try modifying the markers in the overlay by hand, as that fails to update other vital data structures and can cause some overlays to be -``lost''. +``lost.'' @end defun @defun remove-overlays &optional start end name value @@ -2013,7 +2013,7 @@ A non-@code{nil} value specifies a bold font. A non-@code{nil} value specifies an italic font. @end table - For compatibility, you can still set these ``attributes'', even + For compatibility, you can still set these ``attributes,'' even though they are not real face attributes. Here is what that does: @table @code @@ -3767,7 +3767,7 @@ $$\pmatrix{ 2 & -1 & 0 \cr @end ifnottex @item disabled -Specifies transforming the image so that it looks ``disabled''. +Specifies transforming the image so that it looks ``disabled.'' @end table @item :mask @var{mask} @@ -4804,7 +4804,7 @@ Any @var{args} are passed to @var{map-function}. @subsection Abstract Display Example Here is a simple example using functions of the ewoc package to -implement a ``color components display'', an area in a buffer that +implement a ``color components display,'' an area in a buffer that represents a vector of three integers (itself representing a 24-bit RGB value) in various ways. @@ -5320,7 +5320,7 @@ variable. @section Window Systems Emacs works with several window systems, most notably the X Window -System. Both Emacs and X use the term ``window'', but use it +System. Both Emacs and X use the term ``window,'' but use it differently. An Emacs frame is a single window as far as X is concerned; the individual Emacs windows are not known to X at all. diff --git a/lispref/doclicense.texi b/lispref/doclicense.texi index 9e191e0c0b8..f2f32aaa968 100644 --- a/lispref/doclicense.texi +++ b/lispref/doclicense.texi @@ -24,7 +24,7 @@ Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. -This License is a kind of ``copyleft'', which means that derivative +This License is a kind of ``copyleft,'' which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. @@ -45,9 +45,9 @@ This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The ``Document'', below, +work under the conditions stated herein. The ``Document,'' below, refers to any such manual or work. Any member of the public is a -licensee, and is addressed as ``you''. You accept the license if you +licensee, and is addressed as ``you.'' You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. @@ -114,8 +114,8 @@ preceding the beginning of the body of the text. A section ``Entitled XYZ'' means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as ``Acknowledgements'', -``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' +specific section name mentioned below, such as ``Acknowledgements,'' +``Dedications,'' ``Endorsements,'' or ``History.'') To ``Preserve the Title'' of such a section when you modify the Document means that it remains a section ``Entitled XYZ'' according to this definition. @@ -211,7 +211,7 @@ F. Include, immediately after the copyright notices, a license notice G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.@* H. Include an unaltered copy of this License.@* -I. Preserve the section Entitled ``History'', Preserve its Title, and add +I. Preserve the section Entitled ``History,'' Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled ``History'' in the Document, create one @@ -225,7 +225,7 @@ J. Preserve the network location, if any, given in the Document for You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.@* -K. For any section Entitled ``Acknowledgements'' or ``Dedications'', +K. For any section Entitled ``Acknowledgements'' or ``Dedications,'' Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.@* @@ -245,7 +245,7 @@ of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. -You may add a section Entitled ``Endorsements'', provided it contains +You may add a section Entitled ``Endorsements,'' provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a @@ -286,7 +286,7 @@ Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled ``History'' in the various original documents, forming one section Entitled -``History''; likewise combine any sections Entitled ``Acknowledgements'', +``History''; likewise combine any sections Entitled ``Acknowledgements,'' and any sections Entitled ``Dedications.'' You must delete all sections Entitled ``Endorsements.'' @sp 1 @@ -340,8 +340,8 @@ of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. -If a section in the Document is Entitled ``Acknowledgements'', -``Dedications'', or ``History'', the requirement (section 4) to Preserve +If a section in the Document is Entitled ``Acknowledgements,'' +``Dedications,'' or ``History,'' the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. @sp 1 @@ -390,7 +390,7 @@ under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +Free Documentation License.'' @end group @end smallexample diff --git a/lispref/files.texi b/lispref/files.texi index dbcf37b5c8d..03e5db318f4 100644 --- a/lispref/files.texi +++ b/lispref/files.texi @@ -658,7 +658,7 @@ The file lock is really a file, a symbolic link with a special name, stored in the same directory as the file you are editing. When you access files using NFS, there may be a small probability that -you and another user will both lock the same file ``simultaneously''. +you and another user will both lock the same file ``simultaneously.'' If this happens, it is possible for the two users to make changes simultaneously, but Emacs will still warn the user who saves second. Also, the detection of modification of a buffer visiting a file changed @@ -1681,7 +1681,7 @@ return value, but backup version numbers are kept. @end defun @defun file-name-extension filename &optional period -This function returns @var{filename}'s final ``extension'', if any, +This function returns @var{filename}'s final ``extension,'' if any, after applying @code{file-name-sans-versions} to remove any version/backup part. The extension, in a file name, is the part that starts with the last @samp{.} in the last name component (minus @@ -2653,7 +2653,7 @@ unlocking the buffer if it is locked. possibly others to be added in the future. It need not implement all these operations itself---when it has nothing special to do for a certain operation, it can reinvoke the primitive, to handle the -operation ``in the usual way''. It should always reinvoke the primitive +operation ``in the usual way.'' It should always reinvoke the primitive for an operation it does not recognize. Here's one way to do this: @smallexample diff --git a/lispref/frames.texi b/lispref/frames.texi index 6652c0d6eb7..8486611a575 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi @@ -641,7 +641,7 @@ This variable specifies how to blink the cursor. Each element has the form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor type equals @var{on-state} (comparing using @code{equal}), the corresponding @var{off-state} specifies what the cursor looks like -when it blinks ``off''. Both @var{on-state} and @var{off-state} +when it blinks ``off.'' Both @var{on-state} and @var{off-state} should be suitable values for the @code{cursor-type} frame parameter. There are various defaults for how to blink each type of cursor, if @@ -967,7 +967,7 @@ internals of Emacs. @defun visible-frame-list This function returns a list of just the currently visible frames. @xref{Visibility of Frames}. (Terminal frames always count as -``visible'', even though only the selected one is actually displayed.) +``visible,'' even though only the selected one is actually displayed.) @end defun @defun next-frame &optional frame minibuf @@ -1251,7 +1251,7 @@ changes. @xref{Misc Events}. Most window systems use a desktop metaphor. Part of this metaphor is the idea that windows are stacked in a notional third dimension perpendicular to the screen surface, and thus ordered from ``highest'' -to ``lowest''. Where two windows overlap, the one higher up covers +to ``lowest.'' Where two windows overlap, the one higher up covers the one underneath. Even a window at the bottom of the stack can be seen if no other window overlaps it. @@ -1259,7 +1259,7 @@ seen if no other window overlaps it. @cindex lowering a frame A window's place in this ordering is not fixed; in fact, users tend to change the order frequently. @dfn{Raising} a window means moving -it ``up'', to the top of the stack. @dfn{Lowering} a window means +it ``up,'' to the top of the stack. @dfn{Lowering} a window means moving it to the bottom of the stack. This motion is in the notional third dimension only, and does not change the position of the window on the screen. @@ -1519,7 +1519,7 @@ the menu keymap as necessary. A dialog box is a variant of a pop-up menu---it looks a little different, it always appears in the center of a frame, and it has just one level and one or more buttons. The main use of dialog boxes is -for asking questions that the user can answer with ``yes'', ``no'', +for asking questions that the user can answer with ``yes,'' ``no,'' and a few other alternatives. With a single button, they can also force the user to acknowledge important information. The functions @code{y-or-n-p} and @code{yes-or-no-p} use dialog boxes instead of the @@ -1780,7 +1780,7 @@ colors.) These functions provide a way to determine which color names are valid, and what they look like. In some cases, the value depends on the @dfn{selected frame}, as described below; see @ref{Input Focus}, for the -meaning of the term ``selected frame''. +meaning of the term ``selected frame.'' @defun color-defined-p color &optional frame This function reports whether a color name is meaningful. It returns @@ -2150,7 +2150,7 @@ software (as a string). Really this means whoever distributes the X server. When the developers of X labelled software distributors as -``vendors'', they showed their false assumption that no system could +``vendors,'' they showed their false assumption that no system could ever be developed and distributed noncommercially. @end defun diff --git a/lispref/functions.texi b/lispref/functions.texi index 7068b385ecf..6222ea4c8a5 100644 --- a/lispref/functions.texi +++ b/lispref/functions.texi @@ -485,7 +485,7 @@ more convenient than making the function definition point to itself practice). We often identify functions with the symbols used to name them. For -example, we often speak of ``the function @code{car}'', not +example, we often speak of ``the function @code{car},'' not distinguishing between the symbol @code{car} and the primitive subr-object that is its function definition. For most purposes, the distinction is not important. @@ -846,7 +846,7 @@ bool-vector, or a string. In Lisp, a function is a list that starts with @code{lambda}, a byte-code function compiled from such a list, or alternatively a -primitive subr-object; names are ``extra''. Although usually functions +primitive subr-object; names are ``extra.'' Although usually functions are defined with @code{defun} and given names at the same time, it is occasionally more concise to use an explicit lambda expression---an anonymous function. Such a list is valid wherever a function name is. diff --git a/lispref/gpl.texi b/lispref/gpl.texi index d3ffb26719b..ac5c9938381 100644 --- a/lispref/gpl.texi +++ b/lispref/gpl.texi @@ -75,13 +75,13 @@ modification follow. @item This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The ``Program'', below, +under the terms of this General Public License. The ``Program,'' below, refers to any such program or work, and a ``work based on the Program'' means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in -the term ``modification''.) Each licensee is addressed as ``you''. +the term ``modification.'') Each licensee is addressed as ``you.'' Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of @@ -274,7 +274,7 @@ address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and ``any -later version'', you have the option of following the terms and conditions +later version,'' you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software diff --git a/lispref/hash.texi b/lispref/hash.texi index bcc9957228a..4c2c3469c86 100644 --- a/lispref/hash.texi +++ b/lispref/hash.texi @@ -79,13 +79,13 @@ alternatives: Keys which are numbers are ``the same'' if they are @code{equal}, that is, if they are equal in value and either both are integers or both are floating point numbers; otherwise, two distinct objects are never -``the same''. +``the same.'' @item eq Any two distinct Lisp objects are ``different'' as keys. @item equal -Two Lisp objects are ``the same'', as keys, if they are equal +Two Lisp objects are ``the same,'' as keys, if they are equal according to @code{equal}. @end table diff --git a/lispref/internals.texi b/lispref/internals.texi index a4ee6223b35..db7694585aa 100644 --- a/lispref/internals.texi +++ b/lispref/internals.texi @@ -1270,7 +1270,7 @@ Non-@code{nil} means current value of @code{start} was the beginning of a line when it was chosen. @item too_small_ok -Non-@code{nil} means don't delete this window for becoming ``too small''. +Non-@code{nil} means don't delete this window for becoming ``too small.'' @item height_fixed_p This field is temporarily set to 1 to fix the height of the selected diff --git a/lispref/intro.texi b/lispref/intro.texi index 7e1b6155b35..cd9b36ced85 100644 --- a/lispref/intro.texi +++ b/lispref/intro.texi @@ -160,7 +160,7 @@ printer'' refer to those routines in Lisp that convert textual representations of Lisp objects into actual Lisp objects, and vice versa. @xref{Printed Representation}, for more details. You, the person reading this manual, are thought of as ``the programmer'' and are -addressed as ``you''. ``The user'' is the person who uses Lisp +addressed as ``you.'' ``The user'' is the person who uses Lisp programs, including those you write. @cindex fonts in this manual @@ -233,7 +233,7 @@ the examples in this manual, this is indicated with @samp{@result{}}: @end example @noindent -You can read this as ``@code{(car '(1 2))} evaluates to 1''. +You can read this as ``@code{(car '(1 2))} evaluates to 1.'' When a form is a macro call, it expands into a new form for Lisp to evaluate. We show the result of the expansion with diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi index 38f7fbac77c..f93c94b8dfe 100644 --- a/lispref/keymaps.texi +++ b/lispref/keymaps.texi @@ -2232,7 +2232,7 @@ Next we define the menu items: Note the symbols which the bindings are ``made for''; these appear inside square brackets, in the key sequence being defined. In some cases, this symbol is the same as the command name; sometimes it is -different. These symbols are treated as ``function keys'', but they are +different. These symbols are treated as ``function keys,'' but they are not real function keys on the keyboard. They do not affect the functioning of the menu itself, but they are ``echoed'' in the echo area when the user selects from the menu, and they appear in the output of diff --git a/lispref/lists.texi b/lispref/lists.texi index 17d3ebc6c44..4461ce54372 100644 --- a/lispref/lists.texi +++ b/lispref/lists.texi @@ -1503,7 +1503,7 @@ a @sc{cdr} @code{equal} to @var{value}. @code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of each @var{alist} association instead of the @sc{car}. You can think of -this as ``reverse @code{assoc}'', finding the key for a given value. +this as ``reverse @code{assoc},'' finding the key for a given value. @end defun @defun assq key alist @@ -1544,7 +1544,7 @@ a @sc{cdr} @code{eq} to @var{value}. @code{rassq} is like @code{assq} except that it compares the @sc{cdr} of each @var{alist} association instead of the @sc{car}. You can think of -this as ``reverse @code{assq}'', finding the key for a given value. +this as ``reverse @code{assq},'' finding the key for a given value. For example: diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi index d05329eeed7..a4639a67cb7 100644 --- a/lispref/minibuf.texi +++ b/lispref/minibuf.texi @@ -1509,7 +1509,7 @@ the call. This function asks the user a question, expecting input in the echo area. It returns @code{t} if the user types @kbd{y}, @code{nil} if the user types @kbd{n}. This function also accepts @key{SPC} to mean yes -and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit'', like +and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit,'' like @kbd{C-g}, because the question might look like a minibuffer and for that reason the user might try to use @kbd{C-]} to get out. The answer is a single character, with no @key{RET} needed to terminate it. Upper @@ -1699,7 +1699,7 @@ answer); @var{function} is a function of one argument (an object from When the user responds with @var{char}, @code{map-y-or-n-p} calls @var{function}. If it returns non-@code{nil}, the object is considered -``acted upon'', and @code{map-y-or-n-p} advances to the next object in +``acted upon,'' and @code{map-y-or-n-p} advances to the next object in @var{list}. If it returns @code{nil}, the prompt is repeated for the same object. diff --git a/lispref/modes.texi b/lispref/modes.texi index 8e64ece7066..52d6c3735e6 100644 --- a/lispref/modes.texi +++ b/lispref/modes.texi @@ -145,7 +145,7 @@ If @var{function} is already present in @var{hook} (comparing using It is best to design your hook functions so that the order in which they are executed does not matter. Any dependence on the order is ``asking -for trouble''. However, the order is predictable: normally, +for trouble.'' However, the order is predictable: normally, @var{function} goes at the front of the hook list, so it will be executed first (barring another @code{add-hook} call). If the optional argument @var{append} is non-@code{nil}, the new hook function goes at @@ -1139,7 +1139,7 @@ it should not use @code{after-change-major-mode-hook} as of yet. When you defined a major mode using @code{define-derived-mode}, it automatically makes sure these conventions are followed. If you -define a major mode ``from scratch'', not using +define a major mode ``from scratch,'' not using @code{define-derived-mode}, make sure the major mode command follows these and other conventions. @xref{Major Mode Conventions}. You use these functions to do it properly. @@ -1456,7 +1456,7 @@ See the command \\[hungry-electric-delete]." @end smallexample @noindent -This defines a minor mode named ``Hungry mode'', a command named +This defines a minor mode named ``Hungry mode,'' a command named @code{hungry-mode} to toggle it, a variable named @code{hungry-mode} which indicates whether the mode is enabled, and a variable named @code{hungry-mode-map} which holds the keymap that is active when the diff --git a/lispref/numbers.texi b/lispref/numbers.texi index 6e0de2007d4..fd730420cc6 100644 --- a/lispref/numbers.texi +++ b/lispref/numbers.texi @@ -737,7 +737,7 @@ and returns that value as a floating point number. sequence of @dfn{bits} (digits which are either zero or one). A bitwise operation acts on the individual bits of such a sequence. For example, @dfn{shifting} moves the whole sequence left or right one or more places, -reproducing the same pattern ``moved over''. +reproducing the same pattern ``moved over.'' The bitwise operations in Emacs Lisp apply only to integers. diff --git a/lispref/objects.texi b/lispref/objects.texi index f708ab79f5e..0c616bb856c 100644 --- a/lispref/objects.texi +++ b/lispref/objects.texi @@ -632,7 +632,7 @@ come to refer to any structure made out of cons cells. @cindex atom Because cons cells are so central to Lisp, we also have a word for -``an object which is not a cons cell''. These objects are called +``an object which is not a cons cell.'' These objects are called @dfn{atoms}. @cindex parenthesis @@ -1238,7 +1238,7 @@ without qualification, we mean a Lisp macro, not a keyboard macro. A @dfn{primitive function} is a function callable from Lisp but written in the C programming language. Primitive functions are also called @dfn{subrs} or @dfn{built-in functions}. (The word ``subr'' is -derived from ``subroutine''.) Most primitive functions evaluate all +derived from ``subroutine.'') Most primitive functions evaluate all their arguments when they are called. A primitive function that does not evaluate all its arguments is called a @dfn{special form} (@pxref{Special Forms}).@refill diff --git a/lispref/os.texi b/lispref/os.texi index 5451ec8ecfd..a402a339aee 100644 --- a/lispref/os.texi +++ b/lispref/os.texi @@ -1839,7 +1839,7 @@ data transmission, but the value is used for calculations such as padding. It also affects decisions about whether to scroll part of the screen or repaint---even when using a window system. (We designed it this way despite the fact that a window system has no true ``output -speed'', to give you a way to tune these decisions.) +speed,'' to give you a way to tune these decisions.) The value is measured in baud. @end defvar diff --git a/lispref/processes.texi b/lispref/processes.texi index a97690c698b..aa36e5f4a3a 100644 --- a/lispref/processes.texi +++ b/lispref/processes.texi @@ -23,7 +23,7 @@ subprocess, the Lisp program waits for the subprocess to terminate before continuing execution. When you create an asynchronous subprocess, it can run in parallel with the Lisp program. This kind of subprocess is represented within Emacs by a Lisp object which is also -called a ``process''. Lisp programs can use this object to communicate +called a ``process.'' Lisp programs can use this object to communicate with the subprocess or to control it. For example, you can send signals, obtain status information, receive output from the process, or send input to it. @@ -2106,7 +2106,7 @@ processed, and how to pack or unpack it. that the field represents and, in the case of multibyte fields, how the bytes are ordered within the field. The two possible orderings are ``big endian'' (also known as ``network byte ordering'') and -``little endian''. For instance, the number @code{#x23cd} (decimal +``little endian.'' For instance, the number @code{#x23cd} (decimal 9165) in big endian would be the two bytes @code{#x23} @code{#xcd}; and in little endian, @code{#xcd} @code{#x23}. Here are the possible type values: diff --git a/lispref/streams.texi b/lispref/streams.texi index 8b28f06ac70..4fad9a2a3cd 100644 --- a/lispref/streams.texi +++ b/lispref/streams.texi @@ -116,7 +116,7 @@ When it is called with one argument (always a character), @var{function} should save the argument and arrange to return it on the next call. This is called @dfn{unreading} the character; it happens when the Lisp reader reads one character too many and wants to ``put it back where it -came from''. In this case, it makes no difference what value +came from.'' In this case, it makes no difference what value @var{function} returns. @end itemize @@ -620,7 +620,7 @@ spacing between calls. @defun terpri &optional stream @cindex newline in print This function outputs a newline to @var{stream}. The name stands -for ``terminate print''. +for ``terminate print.'' @end defun @defun write-char character &optional stream diff --git a/lispref/symbols.texi b/lispref/symbols.texi index f484b0da067..a1b2b8855be 100644 --- a/lispref/symbols.texi +++ b/lispref/symbols.texi @@ -160,7 +160,7 @@ be customized, use @code{defcustom} (@pxref{Customization}). @code{defun} defines a symbol as a function, creating a lambda expression and storing it in the function cell of the symbol. This lambda expression thus becomes the function definition of the symbol. -(The term ``function definition'', meaning the contents of the function +(The term ``function definition,'' meaning the contents of the function cell, is derived from the idea that @code{defun} gives the symbol its definition as a function.) @code{defsubst} and @code{defalias} are two other ways of defining a function. @xref{Functions}. diff --git a/lispref/syntax.texi b/lispref/syntax.texi index 305f347c9f6..54b0d4a0bc0 100644 --- a/lispref/syntax.texi +++ b/lispref/syntax.texi @@ -332,8 +332,8 @@ Emacs supports two comment styles simultaneously in any one syntax table. This is for the sake of C++. Each style of comment syntax has its own comment-start sequence and its own comment-end sequence. Each comment must stick to one style or the other; thus, if it starts with -the comment-start sequence of style ``b'', it must also end with the -comment-end sequence of style ``b''. +the comment-start sequence of style ``b,'' it must also end with the +comment-end sequence of style ``b.'' The two comment-start sequences must begin with the same character; only the second character may differ. Mark the second character of the @@ -706,7 +706,7 @@ The minimum parenthesis depth encountered during this scan. @item What kind of comment is active: @code{nil} for a comment of style ``a'' or when not inside a comment, @code{t} for a comment of style -``b'', and @code{syntax-table} for a comment that should be ended by a +``b,'' and @code{syntax-table} for a comment that should be ended by a generic comment delimiter character. @item diff --git a/lispref/tips.texi b/lispref/tips.texi index 4dc24196272..3a74aa62716 100644 --- a/lispref/tips.texi +++ b/lispref/tips.texi @@ -702,15 +702,15 @@ use @code{defvar} instead, start the doc string with a @samp{*}. @item The documentation string for a variable that is a yes-or-no flag should -start with words such as ``Non-nil means@dots{}'', to make it clear that +start with words such as ``Non-nil means,'' to make it clear that all non-@code{nil} values are equivalent and indicate explicitly what @code{nil} and non-@code{nil} mean. @item The documentation string for a function that is a yes-or-no predicate -should start with words such as ``Return t if @dots{}'', to indicate -explicitly what constitutes ``truth''. The word ``return'' avoids -starting the sentence with lower-case ``t'', which is somewhat +should start with words such as ``Return t if,'' to indicate +explicitly what constitutes ``truth.'' The word ``return'' avoids +starting the sentence with lower-case ``t,'' which could be somewhat distracting. @item @@ -736,7 +736,7 @@ have the form (KEY . VALUE). Here, KEY is ... @item Never change the case of a Lisp symbol when you mention it in a doc -string. If the symbol's name is @code{foo}, write ``foo'', not +string. If the symbol's name is @code{foo}, write ``foo,'' not ``Foo'' (which is a different symbol). This might appear to contradict the policy of writing function diff --git a/lispref/variables.texi b/lispref/variables.texi index 574302a04f1..d151f0eafe0 100644 --- a/lispref/variables.texi +++ b/lispref/variables.texi @@ -1096,7 +1096,7 @@ is no longer bound to the actual argument 2. @end example @cindex closures not available - Some Lisp dialects have ``closures'', objects that are like functions + Some Lisp dialects have ``closures,'' objects that are like functions but record additional variable bindings. Emacs Lisp does not have closures. @@ -1459,7 +1459,7 @@ buffer-local variables interactively. @defun kill-all-local-variables This function eliminates all the buffer-local variable bindings of the -current buffer except for variables marked as ``permanent''. As a +current buffer except for variables marked as ``permanent.'' As a result, the buffer will see the default values of most variables. This function also resets certain other information pertaining to the From 2b9fa4a75e6979bc0f378e6b0602fc44b473f868 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 18 Jul 2006 00:09:02 +0000 Subject: [PATCH 289/336] Use real doublequote in menus. --- lispref/loading.texi | 2 +- lispref/markers.texi | 4 ++-- lispref/vol1.texi | 8 ++++---- lispref/vol2.texi | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lispref/loading.texi b/lispref/loading.texi index 81787082117..ea995bb79e9 100644 --- a/lispref/loading.texi +++ b/lispref/loading.texi @@ -43,7 +43,7 @@ containing Lisp code. * Repeated Loading:: Precautions about loading a file twice. * Named Features:: Loading a library if it isn't already loaded. * Where Defined:: Finding which file defined a certain symbol. -* Unloading:: How to ``unload'' a library that was loaded. +* Unloading:: How to "unload" a library that was loaded. * Hooks for Loading:: Providing code to be run when particular libraries are loaded. @end menu diff --git a/lispref/markers.texi b/lispref/markers.texi index 514b93a2df5..c3fdddc6aab 100644 --- a/lispref/markers.texi +++ b/lispref/markers.texi @@ -21,8 +21,8 @@ deleted, so that it stays with the two characters on either side of it. * Marker Insertion Types:: Two ways a marker can relocate when you insert where it points. * Moving Markers:: Moving the marker to a new buffer or position. -* The Mark:: How ``the mark'' is implemented with a marker. -* The Region:: How to access ``the region''. +* The Mark:: How "the mark" is implemented with a marker. +* The Region:: How to access "the region". @end menu @node Overview of Markers diff --git a/lispref/vol1.texi b/lispref/vol1.texi index b6b071bf444..ac2958e9b09 100644 --- a/lispref/vol1.texi +++ b/lispref/vol1.texi @@ -416,7 +416,7 @@ Kinds of Forms * Classifying Lists:: How to distinguish various sorts of list forms. * Function Forms:: Forms that call functions. * Macro Forms:: Forms that call macros. -* Special Forms:: ``Special forms'' are idiosyncratic primitives, +* Special Forms:: "Special forms" are idiosyncratic primitives, most of them extremely important. * Autoloading:: Functions set up to load files containing their real definitions. @@ -709,7 +709,7 @@ Buffers is visited. * Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. * Modification Time:: Determining whether the visited file was changed - ``behind Emacs's back''. + "behind Emacs's back". * Read Only Buffers:: Modifying text is not allowed in a read-only buffer. * The Buffer List:: How to look at all the existing buffers. @@ -788,8 +788,8 @@ Markers * Information from Markers:: Finding the marker's buffer or character position. * Changing Markers:: Moving the marker to a new buffer or position. -* The Mark:: How ``the mark'' is implemented with a marker. -* The Region:: How to access ``the region''. +* The Mark:: How "the mark" is implemented with a marker. +* The Region:: How to access "the region". Text diff --git a/lispref/vol2.texi b/lispref/vol2.texi index e5da029db1a..c59449d4eee 100644 --- a/lispref/vol2.texi +++ b/lispref/vol2.texi @@ -417,7 +417,7 @@ Kinds of Forms * Classifying Lists:: How to distinguish various sorts of list forms. * Function Forms:: Forms that call functions. * Macro Forms:: Forms that call macros. -* Special Forms:: ``Special forms'' are idiosyncratic primitives, +* Special Forms:: "Special forms" are idiosyncratic primitives, most of them extremely important. * Autoloading:: Functions set up to load files containing their real definitions. @@ -710,7 +710,7 @@ Buffers is visited. * Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. * Modification Time:: Determining whether the visited file was changed - ``behind Emacs's back''. + "behind Emacs's back". * Read Only Buffers:: Modifying text is not allowed in a read-only buffer. * The Buffer List:: How to look at all the existing buffers. @@ -789,8 +789,8 @@ Markers * Information from Markers:: Finding the marker's buffer or character position. * Changing Markers:: Moving the marker to a new buffer or position. -* The Mark:: How ``the mark'' is implemented with a marker. -* The Region:: How to access ``the region''. +* The Mark:: How "the mark" is implemented with a marker. +* The Region:: How to access "the region". Text From 36959e5157165f96e48ca44d87a271a20a0824f7 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 18 Jul 2006 00:09:52 +0000 Subject: [PATCH 290/336] Put point and comma inside quotes. (Textual Scrolling): Use @samp for error message. --- lispref/windows.texi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lispref/windows.texi b/lispref/windows.texi index 973b429a04e..a86dd6ec812 100644 --- a/lispref/windows.texi +++ b/lispref/windows.texi @@ -1474,7 +1474,7 @@ window is the one at the bottom right corner. In this case, @code{scroll-other-window} attempts to scroll the minibuffer. If the minibuffer contains just one line, it has nowhere to scroll to, so the line reappears after the echo area momentarily displays the message -``Beginning of buffer''. +@samp{Beginning of buffer}. @end deffn @c Emacs 19 feature @@ -1676,8 +1676,8 @@ times the normal character width. How many characters actually disappear off to the left depends on their width, and could vary from line to line. - Because we read from side to side in the ``inner loop'', and from top -to bottom in the ``outer loop'', the effect of horizontal scrolling is + Because we read from side to side in the ``inner loop,'' and from top +to bottom in the ``outer loop,'' the effect of horizontal scrolling is not like that of textual or vertical scrolling. Textual scrolling involves selection of a portion of text to display, and vertical scrolling moves the window contents contiguously; but horizontal From 7c0c29ee3570354017b7f76c1bd3da46581b6711 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 18 Jul 2006 00:11:20 +0000 Subject: [PATCH 291/336] *** empty log message *** --- lispref/ChangeLog | 16 ++++++++++++++++ lispref/strings.texi | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index dc000875cec..547789ffc51 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,5 +1,21 @@ 2006-07-17 Richard Stallman + * eval.texi, elisp.texi, text.texi: Use real doublequote inside menus. + Put period and comma inside quotes. + + * loading.texi, markers.texi: Use real doublequote inside menus. + + * windows.texi: Put point and comma inside quotes. + (Textual Scrolling): Use @samp for error message. + + * variables.texi, tips.texi, syntax.texi, symbols.texi: + * strings.texi, streams.texi, processes.texi, os.texi: + * objects.texi, numbers.texi, modes.texi, minibuf.texi: + * lists.texi, keymaps.texi, intro.texi, hash.texi, internals.texi: + * gpl.texi, functions.texi, files.texi, frames.texi, doclicense.texi: + * display.texi, control.texi, commands.texi, buffers.texi, anti.texi: + Put point and comma inside quotes. + * control.texi (Processing of Errors): Add command-error-function. * variables.texi (File Local Variables): Clarify that diff --git a/lispref/strings.texi b/lispref/strings.texi index 861e5b1c728..46c01982f32 100644 --- a/lispref/strings.texi +++ b/lispref/strings.texi @@ -810,7 +810,7 @@ operation} error. @cindex field width @cindex padding - All the specification characters allow an optional ``width'', which + All the specification characters allow an optional ``width,'' which is a digit-string between the @samp{%} and the character. If the printed representation of the object contains fewer characters than this width, then it is padded. The padding is on the left if the @@ -881,7 +881,7 @@ A space character inserts a space for positive numbers (otherwise nothing is inserted for positive numbers). This flag is ignored except for @samp{%d}, @samp{%e}, @samp{%f}, @samp{%g}. -The flag @samp{#} indicates ``alternate form''. For @samp{%o} it +The flag @samp{#} indicates ``alternate form.'' For @samp{%o} it ensures that the result begins with a 0. For @samp{%x} and @samp{%X} the result is prefixed with @samp{0x} or @samp{0X}. For @samp{%e}, @samp{%f}, and @samp{%g} a decimal point is always shown even if the From c1fdbde6c8c1e007d5abe6fba012fb1a2c09c448 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 18 Jul 2006 01:34:48 +0000 Subject: [PATCH 292/336] * subr.el (sit-for): Just sleep-for if noninteractive. --- lisp/ChangeLog | 4 ++++ lisp/subr.el | 33 +++++++++++++++++---------------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 22d4caba884..ffeac9d760a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2006-07-17 Chong Yidong + + * subr.el (sit-for): Just sleep-for if noninteractive. + 2006-07-17 Stefan Monnier * emacs-lisp/autoload.el (make-autoload): Use new arg. diff --git a/lisp/subr.el b/lisp/subr.el index d80bec4402a..a94096b184e 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1721,22 +1721,23 @@ floating point support. (when (or obsolete (numberp nodisp)) (setq seconds (+ seconds (* 1e-3 nodisp))) (setq nodisp obsolete)) - (unless nodisp - (redisplay)) - (or (<= seconds 0) - (let ((timer (timer-create)) - (echo-keystrokes 0)) - (if (catch 'sit-for-timeout - (timer-set-time timer (timer-relative-time - (current-time) seconds)) - (timer-set-function timer 'with-timeout-handler - '(sit-for-timeout)) - (timer-activate timer) - (push (read-event) unread-command-events) - nil) - t - (cancel-timer timer) - nil)))) + (if noninteractive + (progn (sleep-for seconds) t) + (unless nodisp (redisplay)) + (or (<= seconds 0) + (let ((timer (timer-create)) + (echo-keystrokes 0)) + (if (catch 'sit-for-timeout + (timer-set-time timer (timer-relative-time + (current-time) seconds)) + (timer-set-function timer 'with-timeout-handler + '(sit-for-timeout)) + (timer-activate timer) + (push (read-event) unread-command-events) + nil) + t + (cancel-timer timer) + nil))))) ;;; Atomic change groups. From e18423327e15d044674a9b949a3cb138f6009dbd Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 18 Jul 2006 01:35:03 +0000 Subject: [PATCH 293/336] * commands.texi (Waiting): Document batch-mode sit-for behavior. --- lispref/ChangeLog | 4 ++++ lispref/commands.texi | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 547789ffc51..6097e352276 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,7 @@ +2006-07-17 Chong Yidong + + * commands.texi (Waiting): Document batch-mode sit-for behavior. + 2006-07-17 Richard Stallman * eval.texi, elisp.texi, text.texi: Use real doublequote inside menus. diff --git a/lispref/commands.texi b/lispref/commands.texi index df8eeae9c90..e1c37efa812 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi @@ -2534,9 +2534,10 @@ screen. @defun sit-for seconds &optional nodisp This function performs redisplay (provided there is no pending input from the user), then waits @var{seconds} seconds, or until input is -available. The value is @code{t} if @code{sit-for} waited the full -time with no input arriving (see @code{input-pending-p} in @ref{Event -Input Misc}). Otherwise, the value is @code{nil}. +available. The usual purpose of @code{sit-for} is to give the user +time to read text that you display. The value is @code{t} if +@code{sit-for} waited the full time with no input arriving +(@pxref{Event Input Misc}). Otherwise, the value is @code{nil}. The argument @var{seconds} need not be an integer. If it is a floating point number, @code{sit-for} waits for a fractional number of seconds. @@ -2551,8 +2552,9 @@ If @var{nodisp} is non-@code{nil}, then @code{sit-for} does not redisplay, but it still returns as soon as input is available (or when the timeout elapses). -The usual purpose of @code{sit-for} is to give the user time to read -text that you display. +In batch mode (@pxref{Batch Mode}), @code{sit-for} cannot be +interrupted, even by input from the standard input descriptor. It is +thus equivalent to @code{sleep-for}, which is described below. It is also possible to call @code{sit-for} with three arguments, as @code{(sit-for @var{seconds} @var{millisec} @var{nodisp})}, From 1e53bd0e798f2e109ea38c0b05cdcc24da81568a Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Tue, 18 Jul 2006 03:00:19 +0000 Subject: [PATCH 294/336] (keycode_to_xkeysym): Remove function. All uses now directly lookup keycode_to_xkeysym_table. [USE_MAC_TSM] (mac_handle_text_input_event): Don't construct ASCII_KEYSTROKE_EVENT for non-zero keycode_to_xkeysym_table entries. (XTread_socket): Use character codes to construct keypad key events. (mac_initialize_display_info) [MAC_OSX]: Use CGDisplaySamplesPerPixel. (x_delete_display): Apply 2006-07-04 change for xterm.c. --- src/ChangeLog | 10 +++ src/macterm.c | 224 ++++++++++++++++++++++++++------------------------ 2 files changed, 127 insertions(+), 107 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 56e375d55b5..e71981695d2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2006-07-18 YAMAMOTO Mitsuharu + + * macterm.c (keycode_to_xkeysym): Remove function. All uses now + directly lookup keycode_to_xkeysym_table. + [USE_MAC_TSM] (mac_handle_text_input_event): Don't construct + ASCII_KEYSTROKE_EVENT for non-zero keycode_to_xkeysym_table entries. + (XTread_socket): Use character codes to construct keypad key events. + (mac_initialize_display_info) [MAC_OSX]: Use CGDisplaySamplesPerPixel. + (x_delete_display): Apply 2006-07-04 change for xterm.c. + 2006-07-17 Kim F. Storm * xdisp.c (handle_single_display_spec): Ensure the right value of diff --git a/src/macterm.c b/src/macterm.c index 0b6c0fca31c..a6274114a25 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -8587,6 +8587,81 @@ extern int emacs_main (int, char **, char **); extern void initialize_applescript(); extern void terminate_applescript(); +/* Table for translating Mac keycode to X keysym values. Contributed + by Sudhir Shenoy. + Mapping for special keys is now identical to that in Apple X11 + except `clear' (-> ) on the KeyPad, `enter' (-> ) + on the right of the Cmd key on laptops, and fn + `enter' (-> + ). */ +static unsigned char keycode_to_xkeysym_table[] = { + /*0x00*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /*0x10*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /*0x20*/ 0, 0, 0, 0, 0x0d /*return*/, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + /*0x30*/ 0x09 /*tab*/, 0 /*0x0020 space*/, 0, 0x08 /*backspace*/, + /*0x34*/ 0x8d /*enter on laptops*/, 0x1b /*escape*/, 0, 0, + /*0x38*/ 0, 0, 0, 0, + /*0x3C*/ 0, 0, 0, 0, + + /*0x40*/ 0, 0xae /*kp-decimal*/, 0, 0xaa /*kp-multiply*/, + /*0x44*/ 0, 0xab /*kp-add*/, 0, 0x0b /*clear*/, + /*0x48*/ 0, 0, 0, 0xaf /*kp-divide*/, + /*0x4C*/ 0x8d /*kp-enter*/, 0, 0xad /*kp-subtract*/, 0, + + /*0x50*/ 0, 0xbd /*kp-equal*/, 0xb0 /*kp-0*/, 0xb1 /*kp-1*/, + /*0x54*/ 0xb2 /*kp-2*/, 0xb3 /*kp-3*/, 0xb4 /*kp-4*/, 0xb5 /*kp-5*/, + /*0x58*/ 0xb6 /*kp-6*/, 0xb7 /*kp-7*/, 0, 0xb8 /*kp-8*/, + /*0x5C*/ 0xb9 /*kp-9*/, 0, 0, 0, + + /*0x60*/ 0xc2 /*f5*/, 0xc3 /*f6*/, 0xc4 /*f7*/, 0xc0 /*f3*/, + /*0x64*/ 0xc5 /*f8*/, 0xc6 /*f9*/, 0, 0xc8 /*f11*/, + /*0x68*/ 0, 0xca /*f13*/, 0xcd /*f16*/, 0xcb /*f14*/, + /*0x6C*/ 0, 0xc7 /*f10*/, 0x0a /*fn+enter on laptops*/, 0xc9 /*f12*/, + + /*0x70*/ 0, 0xcc /*f15*/, 0x6a /*help*/, 0x50 /*home*/, + /*0x74*/ 0x55 /*pgup*/, 0xff /*delete*/, 0xc1 /*f4*/, 0x57 /*end*/, + /*0x78*/ 0xbf /*f2*/, 0x56 /*pgdown*/, 0xbe /*f1*/, 0x51 /*left*/, + /*0x7C*/ 0x53 /*right*/, 0x54 /*down*/, 0x52 /*up*/, 0 +}; + +#ifdef MAC_OSX +/* Table for translating Mac keycode with the laptop `fn' key to that + without it. Destination symbols in comments are keys on US + keyboard, and they may not be the same on other types of keyboards. + If the destination is identical to the source (f1 ... f12), it + doesn't map `fn' key to a modifier. */ +static unsigned char fn_keycode_to_keycode_table[] = { + /*0x00*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /*0x10*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /*0x20*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + /*0x30*/ 0, 0, 0, 0, + /*0x34*/ 0, 0, 0, 0, + /*0x38*/ 0, 0, 0, 0, + /*0x3C*/ 0, 0, 0, 0, + + /*0x40*/ 0, 0x2f /*kp-decimal -> '.'*/, 0, 0x23 /*kp-multiply -> 'p'*/, + /*0x44*/ 0, 0x2c /*kp-add -> '/'*/, 0, 0x16 /*clear -> '6'*/, + /*0x48*/ 0, 0, 0, 0x1d /*kp-/ -> '0'*/, + /*0x4C*/ 0x24 /*kp-enter -> return*/, 0, 0x29 /*kp-subtract -> ';'*/, 0, + + /*0x50*/ 0, 0x1b /*kp-equal -> '-'*/, 0x2e /*kp-0 -> 'm'*/, 0x26 /*kp-1 -> 'j'*/, + /*0x54*/ 0x28 /*kp-2 -> 'k'*/, 0x25 /*kp-3 -> 'l'*/, 0x20 /*kp-4 -> 'u'*/, 0x22 /*kp-5 ->'i'*/, + /*0x58*/ 0x1f /*kp-6 -> 'o'*/, 0x1a /*kp-7 -> '7'*/, 0, 0x1c /*kp-8 -> '8'*/, + /*0x5C*/ 0x19 /*kp-9 -> '9'*/, 0, 0, 0, + + /*0x60*/ 0x60 /*f5 = f5*/, 0x61 /*f6 = f6*/, 0x62 /*f7 = f7*/, 0x63 /*f3 = f3*/, + /*0x64*/ 0x64 /*f8 = f8*/, 0x65 /*f9 = f9*/, 0, 0x67 /*f11 = f11*/, + /*0x68*/ 0, 0, 0, 0, + /*0x6C*/ 0, 0x6d /*f10 = f10*/, 0, 0x6f /*f12 = f12*/, + + /*0x70*/ 0, 0, 0, 0x7b /*home -> left*/, + /*0x74*/ 0x7e /*pgup -> up*/, 0x33 /*delete -> backspace*/, 0x76 /*f4 = f4*/, 0x7c /*end -> right*/, + /*0x78*/ 0x78 /*f2 = f2*/, 0x7d /*pgdown -> down*/, 0x7a /*f1 = f1*/, 0, + /*0x7C*/ 0, 0, 0, 0 +}; +#endif /* MAC_OSX */ + static unsigned int #if USE_CARBON_EVENTS mac_to_emacs_modifiers (UInt32 mods) @@ -9650,7 +9725,6 @@ mac_handle_text_input_event (next_handler, event, data) { EventRef kbd_event; UInt32 actual_size, modifiers, mapped_modifiers; - UniChar code; err = GetEventParameter (event, kEventParamTextInputSendKeyboardEvent, typeEventRef, NULL, sizeof (EventRef), NULL, @@ -9678,26 +9752,37 @@ mac_handle_text_input_event (next_handler, event, data) err = GetEventParameter (kbd_event, kEventParamKeyUnicodes, typeUnicodeText, NULL, 0, &actual_size, NULL); - if (err == noErr) + if (err == noErr && actual_size == sizeof (UniChar)) { - if (actual_size == sizeof (UniChar)) - err = GetEventParameter (kbd_event, kEventParamKeyUnicodes, - typeUnicodeText, NULL, - sizeof (UniChar), NULL, &code); + UniChar code; + + err = GetEventParameter (kbd_event, kEventParamKeyUnicodes, + typeUnicodeText, NULL, + sizeof (UniChar), NULL, &code); if (err == noErr && code < 0x80) { /* ASCII character. Process it in XTread_socket. */ if (read_socket_inev && code >= 0x20 && code <= 0x7e) { - struct frame *f = mac_focus_frame (&one_mac_display_info); + UInt32 key_code; - read_socket_inev->kind = ASCII_KEYSTROKE_EVENT; - read_socket_inev->code = code; - read_socket_inev->modifiers = - (extra_keyboard_modifiers - & (meta_modifier | alt_modifier - | hyper_modifier | super_modifier)); - XSETFRAME (read_socket_inev->frame_or_window, f); + err = GetEventParameter (kbd_event, kEventParamKeyCode, + typeUInt32, NULL, sizeof (UInt32), + NULL, &key_code); + if (!(err == noErr && key_code <= 0x7f + && keycode_to_xkeysym_table [key_code])) + { + struct frame *f = + mac_focus_frame (&one_mac_display_info); + + read_socket_inev->kind = ASCII_KEYSTROKE_EVENT; + read_socket_inev->code = code; + read_socket_inev->modifiers = + (extra_keyboard_modifiers + & (meta_modifier | alt_modifier + | hyper_modifier | super_modifier)); + XSETFRAME (read_socket_inev->frame_or_window, f); + } } return eventNotHandledErr; } @@ -9970,89 +10055,6 @@ main (void) } #endif -/* Table for translating Mac keycode to X keysym values. Contributed - by Sudhir Shenoy. - Mapping for special keys is now identical to that in Apple X11 - except `clear' (-> ) on the KeyPad, `enter' (-> ) - on the right of the Cmd key on laptops, and fn + `enter' (-> - ). */ -static unsigned char keycode_to_xkeysym_table[] = { - /*0x00*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /*0x10*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /*0x20*/ 0, 0, 0, 0, 0x0d /*return*/, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - /*0x30*/ 0x09 /*tab*/, 0 /*0x0020 space*/, 0, 0x08 /*backspace*/, - /*0x34*/ 0x8d /*enter on laptops*/, 0x1b /*escape*/, 0, 0, - /*0x38*/ 0, 0, 0, 0, - /*0x3C*/ 0, 0, 0, 0, - - /*0x40*/ 0, 0xae /*kp-.*/, 0, 0xaa /*kp-**/, - /*0x44*/ 0, 0xab /*kp-+*/, 0, 0x0b /*clear*/, - /*0x48*/ 0, 0, 0, 0xaf /*kp-/*/, - /*0x4C*/ 0x8d /*kp-enter*/, 0, 0xad /*kp--*/, 0, - - /*0x50*/ 0, 0xbd /*kp-=*/, 0xb0 /*kp-0*/, 0xb1 /*kp-1*/, - /*0x54*/ 0xb2 /*kp-2*/, 0xb3 /*kp-3*/, 0xb4 /*kp-4*/, 0xb5 /*kp-5*/, - /*0x58*/ 0xb6 /*kp-6*/, 0xb7 /*kp-7*/, 0, 0xb8 /*kp-8*/, - /*0x5C*/ 0xb9 /*kp-9*/, 0, 0, 0, - - /*0x60*/ 0xc2 /*f5*/, 0xc3 /*f6*/, 0xc4 /*f7*/, 0xc0 /*f3*/, - /*0x64*/ 0xc5 /*f8*/, 0xc6 /*f9*/, 0, 0xc8 /*f11*/, - /*0x68*/ 0, 0xca /*f13*/, 0xcd /*f16*/, 0xcb /*f14*/, - /*0x6C*/ 0, 0xc7 /*f10*/, 0x0a /*fn+enter on laptops*/, 0xc9 /*f12*/, - - /*0x70*/ 0, 0xcc /*f15*/, 0x6a /*help*/, 0x50 /*home*/, - /*0x74*/ 0x55 /*pgup*/, 0xff /*delete*/, 0xc1 /*f4*/, 0x57 /*end*/, - /*0x78*/ 0xbf /*f2*/, 0x56 /*pgdown*/, 0xbe /*f1*/, 0x51 /*left*/, - /*0x7C*/ 0x53 /*right*/, 0x54 /*down*/, 0x52 /*up*/, 0 -}; - - -static int -keycode_to_xkeysym (int keyCode, int *xKeySym) -{ - *xKeySym = keycode_to_xkeysym_table [keyCode & 0x7f]; - return *xKeySym != 0; -} - -#ifdef MAC_OSX -/* Table for translating Mac keycode with the laptop `fn' key to that - without it. Destination symbols in comments are keys on US - keyboard, and they may not be the same on other types of keyboards. - If the destination is identical to the source (f1 ... f12), it - doesn't map `fn' key to a modifier. */ -static unsigned char fn_keycode_to_keycode_table[] = { - /*0x00*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /*0x10*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /*0x20*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - /*0x30*/ 0, 0, 0, 0, - /*0x34*/ 0, 0, 0, 0, - /*0x38*/ 0, 0, 0, 0, - /*0x3C*/ 0, 0, 0, 0, - - /*0x40*/ 0, 0x2f /*kp-. -> '.'*/, 0, 0x23 /*kp-* -> 'p'*/, - /*0x44*/ 0, 0x2c /*kp-+ -> '/'*/, 0, 0x16 /*clear -> '6'*/, - /*0x48*/ 0, 0, 0, 0x1d /*kp-/ -> '0'*/, - /*0x4C*/ 0x24 /*kp-enter -> return*/, 0, 0x29 /*kp-- -> ';'*/, 0, - - /*0x50*/ 0, 0x1b /*kp-= -> '-'*/, 0x2e /*kp-0 -> 'm'*/, 0x26 /*kp-1 -> 'j'*/, - /*0x54*/ 0x28 /*kp-2 -> 'k'*/, 0x25 /*kp-3 -> 'l'*/, 0x20 /*kp-4 -> 'u'*/, 0x22 /*kp-5 ->'i'*/, - /*0x58*/ 0x1f /*kp-6 -> 'o'*/, 0x1a /*kp-7 -> '7'*/, 0, 0x1c /*kp-8 -> '8'*/, - /*0x5C*/ 0x19 /*kp-9 -> '9'*/, 0, 0, 0, - - /*0x60*/ 0x60 /*f5 = f5*/, 0x61 /*f6 = f6*/, 0x62 /*f7 = f7*/, 0x63 /*f3 = f3*/, - /*0x64*/ 0x64 /*f8 = f8*/, 0x65 /*f9 = f9*/, 0, 0x67 /*f11 = f11*/, - /*0x68*/ 0, 0, 0, 0, - /*0x6C*/ 0, 0x6d /*f10 = f10*/, 0, 0x6f /*f12 = f12*/, - - /*0x70*/ 0, 0, 0, 0x7b /*home -> left*/, - /*0x74*/ 0x7e /*pgup -> up*/, 0x33 /*delete -> backspace*/, 0x76 /*f4 = f4*/, 0x7c /*end -> right*/, - /*0x78*/ 0x78 /*f2 = f2*/, 0x7d /*pgdown -> down*/, 0x7a /*f1 = f1*/, 0, - /*0x7C*/ 0, 0, 0, 0 -}; -#endif /* MAC_OSX */ - #if !USE_CARBON_EVENTS static RgnHandle mouse_region = NULL; @@ -10679,7 +10681,7 @@ XTread_socket (sd, expected, hold_quit) case autoKey: { int keycode = (er.message & keyCodeMask) >> 8; - int xkeysym; + int char_code = er.message & charCodeMask; static SInt16 last_key_script = -1; SInt16 current_key_script; UInt32 modifiers = er.modifiers, mapped_modifiers; @@ -10758,10 +10760,15 @@ XTread_socket (sd, expected, hold_quit) && fn_keycode_to_keycode_table[keycode]) keycode = fn_keycode_to_keycode_table[keycode]; #endif - if (keycode_to_xkeysym (keycode, &xkeysym)) + if (keycode <= 0x7f && keycode_to_xkeysym_table [keycode]) { inev.kind = NON_ASCII_KEYSTROKE_EVENT; - inev.code = 0xff00 | xkeysym; + inev.code = 0xff00 | keycode_to_xkeysym_table [keycode]; + /* Some keyboards (e.g., German, French ones) use + different layouts for keypad keys. */ + if (inev.code >= 0xffaa && inev.code <= 0xffbd + && char_code >= 0x2a && char_code <= 0x3d) + inev.code = 0xff80 | char_code; #ifdef MAC_OSX if (modifiers & kEventKeyModifierFnMask && keycode <= 0x7f @@ -10845,7 +10852,7 @@ XTread_socket (sd, expected, hold_quit) if (inev.kind == NO_EVENT) { inev.kind = ASCII_KEYSTROKE_EVENT; - inev.code = er.message & charCodeMask; + inev.code = char_code; } inev.modifiers = mac_to_emacs_modifiers (modifiers); @@ -11101,7 +11108,7 @@ mac_initialize_display_info () #ifdef MAC_OSX /* HasDepth returns true if it is possible to have a 32 bit display, but this may not be what is actually used. Mac OSX can do better. */ - dpyinfo->color_p = 1; + dpyinfo->color_p = CGDisplaySamplesPerPixel (kCGDirectMainDisplay) > 1; dpyinfo->n_planes = CGDisplayBitsPerPixel (kCGDirectMainDisplay); dpyinfo->height = CGDisplayPixelsHigh (kCGDirectMainDisplay); dpyinfo->width = CGDisplayPixelsWide (kCGDirectMainDisplay); @@ -11232,11 +11239,14 @@ x_delete_display (dpyinfo) xfree (dpyinfo->font_table[i].name); } - if (dpyinfo->font_table->font_encoder) - xfree (dpyinfo->font_table->font_encoder); - - xfree (dpyinfo->font_table); - xfree (dpyinfo->mac_id_name); + if (dpyinfo->font_table) + { + if (dpyinfo->font_table->font_encoder) + xfree (dpyinfo->font_table->font_encoder); + xfree (dpyinfo->font_table); + } + if (dpyinfo->mac_id_name) + xfree (dpyinfo->mac_id_name); if (x_display_list == 0) { From d3f31bc5893977c28fcdd0e7edaa30df06328464 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Tue, 18 Jul 2006 08:12:51 +0000 Subject: [PATCH 295/336] (XTread_socket): Undo previous change. --- src/ChangeLog | 4 ++++ src/macterm.c | 8 +------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index e71981695d2..b1c86a46142 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2006-07-18 YAMAMOTO Mitsuharu + + * macterm.c (XTread_socket): Undo previous change. + 2006-07-18 YAMAMOTO Mitsuharu * macterm.c (keycode_to_xkeysym): Remove function. All uses now diff --git a/src/macterm.c b/src/macterm.c index a6274114a25..69612302774 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -10681,7 +10681,6 @@ XTread_socket (sd, expected, hold_quit) case autoKey: { int keycode = (er.message & keyCodeMask) >> 8; - int char_code = er.message & charCodeMask; static SInt16 last_key_script = -1; SInt16 current_key_script; UInt32 modifiers = er.modifiers, mapped_modifiers; @@ -10764,11 +10763,6 @@ XTread_socket (sd, expected, hold_quit) { inev.kind = NON_ASCII_KEYSTROKE_EVENT; inev.code = 0xff00 | keycode_to_xkeysym_table [keycode]; - /* Some keyboards (e.g., German, French ones) use - different layouts for keypad keys. */ - if (inev.code >= 0xffaa && inev.code <= 0xffbd - && char_code >= 0x2a && char_code <= 0x3d) - inev.code = 0xff80 | char_code; #ifdef MAC_OSX if (modifiers & kEventKeyModifierFnMask && keycode <= 0x7f @@ -10852,7 +10846,7 @@ XTread_socket (sd, expected, hold_quit) if (inev.kind == NO_EVENT) { inev.kind = ASCII_KEYSTROKE_EVENT; - inev.code = char_code; + inev.code = er.message & charCodeMask; } inev.modifiers = mac_to_emacs_modifiers (modifiers); From 9b306d3759bc16bdede5feb832a4f8fe785b8827 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:25:40 +0000 Subject: [PATCH 296/336] (buffer_memory_full, memory_full): Use xsignal. Remove loop. (list1): New function. --- src/alloc.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/alloc.c b/src/alloc.c index 1d3dc10c411..4b3fa4d7e69 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -559,8 +559,7 @@ buffer_memory_full () /* This used to call error, but if we've run out of memory, we could get infinite recursion trying to build the string. */ - while (1) - Fsignal (Qnil, Vmemory_signal_data); + xsignal (Qnil, Vmemory_signal_data); } @@ -2777,7 +2776,14 @@ check_cons_list () #endif } -/* Make a list of 2, 3, 4 or 5 specified objects. */ +/* Make a list of 1, 2, 3, 4 or 5 specified objects. */ + +Lisp_Object +list1 (arg1) + Lisp_Object arg1; +{ + return Fcons (arg1, Qnil); +} Lisp_Object list2 (arg1, arg2) @@ -3493,8 +3499,7 @@ memory_full () /* This used to call error, but if we've run out of memory, we could get infinite recursion trying to build the string. */ - while (1) - Fsignal (Qnil, Vmemory_signal_data); + xsignal (Qnil, Vmemory_signal_data); } /* If we released our reserve (due to running out of memory), From 4c4dc0b09b15549b690d3a1baae7a3152acc67ee Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:25:47 +0000 Subject: [PATCH 297/336] (Fbuffer_local_value, Fbarf_if_buffer_read_only): Use xsignal1. --- src/buffer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/buffer.c b/src/buffer.c index 722b9460a27..fcb842de83c 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -938,10 +938,10 @@ is the default binding of the variable. */) result = XCDR (result); } - if (EQ (result, Qunbound)) - return Fsignal (Qvoid_variable, Fcons (variable, Qnil)); + if (!EQ (result, Qunbound)) + return result; - return result; + xsignal1 (Qvoid_variable, variable); } /* Return an alist of the Lisp-level buffer-local bindings of @@ -1961,7 +1961,7 @@ DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only, { if (!NILP (current_buffer->read_only) && NILP (Vinhibit_read_only)) - Fsignal (Qbuffer_read_only, (Fcons (Fcurrent_buffer (), Qnil))); + xsignal1 (Qbuffer_read_only, Fcurrent_buffer ()); return Qnil; } From f439241f58ee1ab88f0b9affabfadc6534c551ed Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:25:53 +0000 Subject: [PATCH 298/336] (check_mark): Use xsignal0. --- src/callint.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/callint.c b/src/callint.c index c594f27c8b8..475042abbe1 100644 --- a/src/callint.c +++ b/src/callint.c @@ -174,7 +174,7 @@ check_mark (for_region) : "The mark is not set now"); if (!NILP (Vtransient_mark_mode) && NILP (Vmark_even_if_inactive) && NILP (current_buffer->mark_active)) - Fsignal (Qmark_inactive, Qnil); + xsignal0 (Qmark_inactive); } /* If the list of args INPUT was produced with an explicit call to From ddc4cc779419a66aa18b39afb472945132dadd89 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:26:00 +0000 Subject: [PATCH 299/336] (casify_object): wrong_type_argument is no-return. --- src/casefiddle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/casefiddle.c b/src/casefiddle.c index 76a24f48a82..0ad884310ed 100644 --- a/src/casefiddle.c +++ b/src/casefiddle.c @@ -111,7 +111,7 @@ casify_object (flag, obj) return obj; } - return wrong_type_argument (Qchar_or_string_p, obj); + wrong_type_argument (Qchar_or_string_p, obj); } DEFUN ("upcase", Fupcase, Supcase, 1, 1, 0, From aaf769f15ad643ec47eb2540f8f970ac1065dd78 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:26:05 +0000 Subject: [PATCH 300/336] (Fforward_char, Fdelete_char): Use xsignal0. --- src/cmds.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cmds.c b/src/cmds.c index 494ef14db99..b84b9d1d85e 100644 --- a/src/cmds.c +++ b/src/cmds.c @@ -77,12 +77,12 @@ On reaching end of buffer, stop and signal error. */) if (new_point < BEGV) { SET_PT (BEGV); - Fsignal (Qbeginning_of_buffer, Qnil); + xsignal0 (Qbeginning_of_buffer); } if (new_point > ZV) { SET_PT (ZV); - Fsignal (Qend_of_buffer, Qnil); + xsignal0 (Qend_of_buffer); } SET_PT (new_point); @@ -245,14 +245,14 @@ N was explicitly specified. */) if (XINT (n) < 0) { if (pos < BEGV) - Fsignal (Qbeginning_of_buffer, Qnil); + xsignal0 (Qbeginning_of_buffer); else del_range (pos, PT); } else { if (pos > ZV) - Fsignal (Qend_of_buffer, Qnil); + xsignal0 (Qend_of_buffer); else del_range (PT, pos); } From fcad4ec4e9dac00dcdaf4efae85f8a7757a53f64 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:26:12 +0000 Subject: [PATCH 301/336] (Fcheck_coding_system): Use xsignal1. Remove loop. (Fdefine_coding_system_internal): Use xsignal1. --- src/coding.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/coding.c b/src/coding.c index be39ceb7fe6..a3fd8f91284 100644 --- a/src/coding.c +++ b/src/coding.c @@ -6072,7 +6072,7 @@ set_conversion_work_buffer (multibyte) /* As we are already in the work buffer, we must generate a new buffer for the work. */ Lisp_Object name; - + name = Fgenerate_new_buffer_name (Vcode_conversion_workbuf_name, Qnil); buffer = buffer_to_kill = Fget_buffer_create (name); buf = XBUFFER (buffer); @@ -6595,8 +6595,7 @@ The value of this property should be a vector of length 5. */) } if (!NILP (Fcoding_system_p (coding_system))) return coding_system; - while (1) - Fsignal (Qcoding_system_error, Fcons (coding_system, Qnil)); + xsignal1 (Qcoding_system_error, coding_system); } Lisp_Object @@ -7623,11 +7622,13 @@ This function is internal use only. */) Lisp_Object safe_chars, slot; if (NILP (Fcheck_coding_system (coding_system))) - Fsignal (Qcoding_system_error, Fcons (coding_system, Qnil)); + xsignal1 (Qcoding_system_error, coding_system); + safe_chars = coding_safe_chars (coding_system); if (! EQ (safe_chars, Qt) && ! CHAR_TABLE_P (safe_chars)) error ("No valid safe-chars property for %s", SDATA (SYMBOL_NAME (coding_system))); + if (EQ (safe_chars, Qt)) { if (NILP (Fmemq (coding_system, XCAR (Vcoding_system_safe_chars)))) From 740ef0b5254003ffbb0b323a9fb1abd2dd031edc Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:26:19 +0000 Subject: [PATCH 302/336] (circular_list_error): Use xsignal. (wrong_type_argument): Use xsignal2. Don't care about return value. (args_out_of_range, args_out_of_range_3): Use xsignal2, xsignal3. Remove loop around Fsignal. (indirect_variable, Fsymbol_value, set_internal, Fdefault_value) (indirect_function, Findirect_function, Fstring_to_number) (Fmakunbound, Ffmakunbound, Fsymbol_function, Ffset): Use xsignal1. (arith_driver, float_arith_driver, Frem, Fmod, arith_error): Use xsignal0. --- src/data.c | 64 +++++++++++++++++++++++------------------------------- 1 file changed, 27 insertions(+), 37 deletions(-) diff --git a/src/data.c b/src/data.c index f715be56cee..761159ec066 100644 --- a/src/data.c +++ b/src/data.c @@ -105,7 +105,7 @@ void circular_list_error (list) Lisp_Object list; { - Fsignal (Qcircular_list, list); + xsignal (Qcircular_list, list); } @@ -118,16 +118,7 @@ wrong_type_argument (predicate, value) if ((unsigned int) XGCTYPE (value) >= Lisp_Type_Limit) abort (); - Fsignal (Qwrong_type_argument, list2 (predicate, value)); - - /* This function is marked as NO_RETURN, gcc would warn if it has a - return statement or if falls off the function. Other compilers - warn if no return statement is present. */ -#ifndef __GNUC__ - return value; -#else - abort (); -#endif + xsignal2 (Qwrong_type_argument, predicate, value); } void @@ -140,16 +131,14 @@ void args_out_of_range (a1, a2) Lisp_Object a1, a2; { - while (1) - Fsignal (Qargs_out_of_range, Fcons (a1, Fcons (a2, Qnil))); + xsignal2 (Qargs_out_of_range, a1, a2); } void args_out_of_range_3 (a1, a2, a3) Lisp_Object a1, a2, a3; { - while (1) - Fsignal (Qargs_out_of_range, Fcons (a1, Fcons (a2, Fcons (a3, Qnil)))); + xsignal3 (Qargs_out_of_range, a1, a2, a3); } /* On some machines, XINT needs a temporary location. @@ -618,7 +607,7 @@ Return SYMBOL. */) { CHECK_SYMBOL (symbol); if (XSYMBOL (symbol)->constant) - return Fsignal (Qsetting_constant, Fcons (symbol, Qnil)); + xsignal1 (Qsetting_constant, symbol); Fset (symbol, Qunbound); return symbol; } @@ -631,7 +620,7 @@ Return SYMBOL. */) { CHECK_SYMBOL (symbol); if (NILP (symbol) || EQ (symbol, Qt)) - return Fsignal (Qsetting_constant, Fcons (symbol, Qnil)); + xsignal1 (Qsetting_constant, symbol); XSYMBOL (symbol)->function = Qunbound; return symbol; } @@ -642,9 +631,9 @@ DEFUN ("symbol-function", Fsymbol_function, Ssymbol_function, 1, 1, 0, register Lisp_Object symbol; { CHECK_SYMBOL (symbol); - if (EQ (XSYMBOL (symbol)->function, Qunbound)) - return Fsignal (Qvoid_function, Fcons (symbol, Qnil)); - return XSYMBOL (symbol)->function; + if (!EQ (XSYMBOL (symbol)->function, Qunbound)) + return XSYMBOL (symbol)->function; + xsignal1 (Qvoid_function, symbol); } DEFUN ("symbol-plist", Fsymbol_plist, Ssymbol_plist, 1, 1, 0, @@ -675,7 +664,7 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0, { CHECK_SYMBOL (symbol); if (NILP (symbol) || EQ (symbol, Qt)) - return Fsignal (Qsetting_constant, Fcons (symbol, Qnil)); + xsignal1 (Qsetting_constant, symbol); if (!NILP (Vautoload_queue) && !EQ (XSYMBOL (symbol)->function, Qunbound)) Vautoload_queue = Fcons (Fcons (symbol, XSYMBOL (symbol)->function), Vautoload_queue); @@ -817,7 +806,7 @@ indirect_variable (symbol) tortoise = XSYMBOL (tortoise)->value; if (EQ (hare, tortoise)) - Fsignal (Qcyclic_variable_indirection, Fcons (symbol, Qnil)); + xsignal1 (Qcyclic_variable_indirection, symbol); } return hare; @@ -1118,10 +1107,10 @@ DEFUN ("symbol-value", Fsymbol_value, Ssymbol_value, 1, 1, 0, Lisp_Object val; val = find_symbol_value (symbol); - if (EQ (val, Qunbound)) - return Fsignal (Qvoid_variable, Fcons (symbol, Qnil)); - else + if (!EQ (val, Qunbound)) return val; + + xsignal1 (Qvoid_variable, symbol); } DEFUN ("set", Fset, Sset, 2, 2, 0, @@ -1185,7 +1174,7 @@ set_internal (symbol, newval, buf, bindflag) if (SYMBOL_CONSTANT_P (symbol) && (NILP (Fkeywordp (symbol)) || !EQ (newval, SYMBOL_VALUE (symbol)))) - return Fsignal (Qsetting_constant, Fcons (symbol, Qnil)); + xsignal1 (Qsetting_constant, symbol); innercontents = valcontents = SYMBOL_VALUE (symbol); @@ -1379,9 +1368,10 @@ local bindings in certain buffers. */) register Lisp_Object value; value = default_value (symbol); - if (EQ (value, Qunbound)) - return Fsignal (Qvoid_variable, Fcons (symbol, Qnil)); - return value; + if (!EQ (value, Qunbound)) + return value; + + xsignal1 (Qvoid_variable, symbol); } DEFUN ("set-default", Fset_default, Sset_default, 2, 2, 0, @@ -1893,7 +1883,7 @@ indirect_function (object) tortoise = XSYMBOL (tortoise)->function; if (EQ (hare, tortoise)) - Fsignal (Qcyclic_function_indirection, Fcons (object, Qnil)); + xsignal1 (Qcyclic_function_indirection, object); } return hare; @@ -1922,7 +1912,7 @@ function chain of symbols. */) return result; if (NILP (noerror)) - Fsignal (Qvoid_function, Fcons (object, Qnil)); + xsignal1 (Qvoid_function, object); return Qnil; } @@ -2462,7 +2452,7 @@ If the base used is not 10, floating point is not recognized. */) CHECK_NUMBER (base); b = XINT (base); if (b < 2 || b > 16) - Fsignal (Qargs_out_of_range, Fcons (base, Qnil)); + xsignal1 (Qargs_out_of_range, base); } /* Skip any whitespace at the front of the number. Some versions of @@ -2574,7 +2564,7 @@ arith_driver (code, nargs, args) else { if (next == 0) - Fsignal (Qarith_error, Qnil); + xsignal0 (Qarith_error); accum /= next; } break; @@ -2647,7 +2637,7 @@ float_arith_driver (accum, argnum, code, nargs, args) else { if (! IEEE_FLOATING_POINT && next == 0) - Fsignal (Qarith_error, Qnil); + xsignal0 (Qarith_error); accum /= next; } break; @@ -2729,7 +2719,7 @@ Both must be integers or markers. */) CHECK_NUMBER_COERCE_MARKER (y); if (XFASTINT (y) == 0) - Fsignal (Qarith_error, Qnil); + xsignal0 (Qarith_error); XSETINT (val, XINT (x) % XINT (y)); return val; @@ -2778,7 +2768,7 @@ Both X and Y must be numbers or markers. */) i2 = XINT (y); if (i2 == 0) - Fsignal (Qarith_error, Qnil); + xsignal0 (Qarith_error); i1 %= i2; @@ -3382,7 +3372,7 @@ arith_error (signo) #endif /* not BSD4_1 */ SIGNAL_THREAD_CHECK (signo); - Fsignal (Qarith_error, Qnil); + xsignal0 (Qarith_error); } void From 2f0a47f918391b8828540744acd36fd2fe328f62 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:26:24 +0000 Subject: [PATCH 303/336] (Fdocumentation): Use xsignal1. --- src/doc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doc.c b/src/doc.c index 3dd5622d9df..93f372606a4 100644 --- a/src/doc.c +++ b/src/doc.c @@ -416,7 +416,7 @@ string is passed through `substitute-command-keys'. */) { funcar = Fcar (fun); if (!SYMBOLP (funcar)) - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + xsignal1 (Qinvalid_function, fun); else if (EQ (funcar, Qkeymap)) return build_string ("Prefix command (definition is a keymap associating keystrokes with commands)."); else if (EQ (funcar, Qlambda) @@ -443,7 +443,7 @@ string is passed through `substitute-command-keys'. */) else { oops: - Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + xsignal1 (Qinvalid_function, fun); } /* If DOC is 0, it's typically because of a dumped file missing From 8a0ff74421535f810ca457712c80a867146d7d19 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:26:30 +0000 Subject: [PATCH 304/336] (region_limit, Fget_internal_run_time): Use xsignal0. --- src/editfns.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/editfns.c b/src/editfns.c index cf37c10a9d5..aea044db068 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -316,7 +316,7 @@ region_limit (beginningp) if (!NILP (Vtransient_mark_mode) && NILP (Vmark_even_if_inactive) && NILP (current_buffer->mark_active)) - Fsignal (Qmark_inactive, Qnil); + xsignal0 (Qmark_inactive); m = Fmarker_position (current_buffer->mark); if (NILP (m)) @@ -1480,7 +1480,7 @@ systems that do not provide resolution finer than a second. */) if (getrusage (RUSAGE_SELF, &usage) < 0) /* This shouldn't happen. What action is appropriate? */ - Fsignal (Qerror, Qnil); + xsignal0 (Qerror); /* Sum up user time and system time. */ secs = usage.ru_utime.tv_sec + usage.ru_stime.tv_sec; From 734d55a2bd7fa9e9d122cf8aa1090adb52197763 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:26:38 +0000 Subject: [PATCH 305/336] * eval.c (xsignal): New func. Like Fsignal, but marked no-return. (xsignal0, xsignal1, xsignal2, xsignal3): New no-return functions. (signal_error): New no-return function (from xfaces.c). (Fthrow): Use xsignal2 instead of Fsignal + abort. (error): Use xsignal1 instead of Fsignal + abort. (FletX, Flet, grow_specpdl): Use signal_error. (Feval, Ffuncall, funcall_lambda): Use xsignal1, xsignal2. * xfaces.c (signal_error): Move to eval.c. (resolve_face_name): Use xsignal1. --- src/eval.c | 125 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 95 insertions(+), 30 deletions(-) diff --git a/src/eval.c b/src/eval.c index a07ab32e76b..37c245234fc 100644 --- a/src/eval.c +++ b/src/eval.c @@ -983,9 +983,7 @@ usage: (let* VARLIST BODY...) */) if (SYMBOLP (elt)) specbind (elt, Qnil); else if (! NILP (Fcdr (Fcdr (elt)))) - Fsignal (Qerror, - Fcons (build_string ("`let' bindings can have only one value-form"), - elt)); + signal_error ("`let' bindings can have only one value-form", elt); else { val = Feval (Fcar (Fcdr (elt))); @@ -1032,9 +1030,7 @@ usage: (let VARLIST BODY...) */) if (SYMBOLP (elt)) temps [argnum++] = Qnil; else if (! NILP (Fcdr (Fcdr (elt)))) - Fsignal (Qerror, - Fcons (build_string ("`let' bindings can have only one value-form"), - elt)); + signal_error ("`let' bindings can have only one value-form", elt); else temps [argnum++] = Feval (Fcar (Fcdr (elt))); gcpro2.nvars = argnum; @@ -1295,8 +1291,7 @@ Both TAG and VALUE are evalled. */) if (EQ (c->tag, tag)) unwind_to_catch (c, value); } - Fsignal (Qno_catch, list2 (tag, value)); - abort (); + xsignal2 (Qno_catch, tag, value); } @@ -1704,6 +1699,78 @@ See also the function `condition-case'. */) fatal ("%s", SDATA (string), 0); } +/* Internal version of Fsignal that never returns. + Used for anything but Qquit (which can return from Fsignal). */ + +void +xsignal (error_symbol, data) + Lisp_Object error_symbol, data; +{ + Fsignal (error_symbol, data); + abort (); +} + +/* Like xsignal, but takes 0, 1, 2, or 3 args instead of a list. */ + +void +xsignal0 (error_symbol) + Lisp_Object error_symbol; +{ + xsignal (error_symbol, Qnil); +} + +void +xsignal1 (error_symbol, arg) + Lisp_Object error_symbol, arg; +{ + xsignal (error_symbol, list1 (arg)); +} + +void +xsignal2 (error_symbol, arg1, arg2) + Lisp_Object error_symbol, arg1, arg2; +{ + xsignal (error_symbol, list2 (arg1, arg2)); +} + +void +xsignal3 (error_symbol, arg1, arg2, arg3) + Lisp_Object error_symbol, arg1, arg2, arg3; +{ + xsignal (error_symbol, list3 (arg1, arg2, arg3)); +} + +/* Signal `error' with message S, and additional arg ARG. + If ARG is not a genuine list, make it a one-element list. */ + +void +signal_error (s, arg) + char *s; + Lisp_Object arg; +{ + Lisp_Object tortoise, hare; + + hare = tortoise = arg; + while (CONSP (hare)) + { + hare = XCDR (hare); + if (!CONSP (hare)) + break; + + hare = XCDR (hare); + tortoise = XCDR (tortoise); + + if (EQ (hare, tortoise)) + break; + } + + if (!NILP (hare)) + arg = Fcons (arg, Qnil); /* Make it a list. */ + + xsignal (Qerror, Fcons (build_string (s), arg)); +} + + /* Return nonzero iff LIST is a non-nil atom or a list containing one of CONDITIONS. */ @@ -1918,8 +1985,7 @@ error (m, a1, a2, a3) if (allocated) xfree (buffer); - Fsignal (Qerror, Fcons (string, Qnil)); - abort (); + xsignal1 (Qerror, string); } DEFUN ("commandp", Fcommandp, Scommandp, 1, 2, 0, @@ -2185,7 +2251,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0, if (XINT (numargs) < XSUBR (fun)->min_args || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < XINT (numargs))) - Fsignal (Qwrong_number_of_arguments, list2 (original_fun, numargs)); + xsignal2 (Qwrong_number_of_arguments, original_fun, numargs); if (XSUBR (fun)->max_args == UNEVALLED) { @@ -2289,12 +2355,12 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0, else { if (EQ (fun, Qunbound)) - Fsignal (Qvoid_function, Fcons (original_fun, Qnil)); + xsignal1 (Qvoid_function, original_fun); if (!CONSP (fun)) - Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); - funcar = Fcar (fun); + xsignal1 (Qinvalid_function, original_fun); + funcar = XCAR (fun); if (!SYMBOLP (funcar)) - Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); + xsignal1 (Qinvalid_function, original_fun); if (EQ (funcar, Qautoload)) { do_autoload (fun, original_fun); @@ -2305,7 +2371,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0, else if (EQ (funcar, Qlambda)) val = apply_lambda (fun, original_args, 1); else - Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); + xsignal1 (Qinvalid_function, original_fun); } done: CHECK_CONS_LIST (); @@ -2885,11 +2951,11 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < numargs)) { XSETFASTINT (lisp_numargs, numargs); - Fsignal (Qwrong_number_of_arguments, list2 (original_fun, lisp_numargs)); + xsignal2 (Qwrong_number_of_arguments, original_fun, lisp_numargs); } if (XSUBR (fun)->max_args == UNEVALLED) - Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); + xsignal1 (Qinvalid_function, original_fun); if (XSUBR (fun)->max_args == MANY) { @@ -2962,12 +3028,12 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) else { if (EQ (fun, Qunbound)) - Fsignal (Qvoid_function, Fcons (original_fun, Qnil)); + xsignal1 (Qvoid_function, original_fun); if (!CONSP (fun)) - Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); - funcar = Fcar (fun); + xsignal1 (Qinvalid_function, original_fun); + funcar = XCAR (fun); if (!SYMBOLP (funcar)) - Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); + xsignal1 (Qinvalid_function, original_fun); if (EQ (funcar, Qlambda)) val = funcall_lambda (fun, numargs, args + 1); else if (EQ (funcar, Qautoload)) @@ -2977,7 +3043,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) goto retry; } else - Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); + xsignal1 (Qinvalid_function, original_fun); } done: CHECK_CONS_LIST (); @@ -3053,7 +3119,7 @@ funcall_lambda (fun, nargs, arg_vector) if (CONSP (syms_left)) syms_left = XCAR (syms_left); else - Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + xsignal1 (Qinvalid_function, fun); } else if (COMPILEDP (fun)) syms_left = AREF (fun, COMPILED_ARGLIST); @@ -3067,7 +3133,7 @@ funcall_lambda (fun, nargs, arg_vector) next = XCAR (syms_left); if (!SYMBOLP (next)) - Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + xsignal1 (Qinvalid_function, fun); if (EQ (next, Qand_rest)) rest = 1; @@ -3081,15 +3147,15 @@ funcall_lambda (fun, nargs, arg_vector) else if (i < nargs) specbind (next, arg_vector[i++]); else if (!optional) - Fsignal (Qwrong_number_of_arguments, list2 (fun, make_number (nargs))); + xsignal2 (Qwrong_number_of_arguments, fun, make_number (nargs)); else specbind (next, Qnil); } if (!NILP (syms_left)) - Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + xsignal1 (Qinvalid_function, fun); else if (i < nargs) - Fsignal (Qwrong_number_of_arguments, list2 (fun, make_number (nargs))); + xsignal2 (Qwrong_number_of_arguments, fun, make_number (nargs)); if (CONSP (fun)) val = Fprogn (XCDR (XCDR (fun))); @@ -3141,8 +3207,7 @@ grow_specpdl () if (max_specpdl_size < 400) max_specpdl_size = 400; if (specpdl_size >= max_specpdl_size) - Fsignal (Qerror, - Fcons (build_string ("Variable binding depth exceeds max-specpdl-size"), Qnil)); + signal_error ("Variable binding depth exceeds max-specpdl-size", Qnil); } specpdl_size *= 2; if (specpdl_size > max_specpdl_size) From 24b1ddad0b6c5a33b58057066dff750fe3567b33 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:27:48 +0000 Subject: [PATCH 306/336] (report_file_error): Use xsignal. (barf_or_query_if_file_exists, Fcopy_file, Fdelete_file) (Finsert_file_contents): Use xsignal2. (syms_of_fileio): Use list2, list3. --- src/fileio.c | 48 ++++++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/src/fileio.c b/src/fileio.c index 21e6fd3a86c..d26b2808726 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -280,7 +280,7 @@ report_file_error (string, data) switch (errorno) { case EEXIST: - Fsignal (Qfile_already_exists, Fcons (errstring, data)); + xsignal (Qfile_already_exists, Fcons (errstring, data)); break; default: /* System error messages are capitalized. Downcase the initial @@ -288,7 +288,7 @@ report_file_error (string, data) if (SREF (errstring, 1) != '/') SSET (errstring, 0, DOWNCASE (SREF (errstring, 0))); - Fsignal (Qfile_error, + xsignal (Qfile_error, Fcons (build_string (string), Fcons (errstring, data))); } } @@ -2384,9 +2384,8 @@ barf_or_query_if_file_exists (absname, querystring, interactive, statptr, quick) if (lstat (SDATA (encoded_filename), &statbuf) >= 0) { if (! interactive) - Fsignal (Qfile_already_exists, - Fcons (build_string ("File already exists"), - Fcons (absname, Qnil))); + xsignal2 (Qfile_already_exists, + build_string ("File already exists"), absname); GCPRO1 (absname); tem = format2 ("File %s already exists; %s anyway? ", absname, build_string (querystring)); @@ -2396,9 +2395,8 @@ barf_or_query_if_file_exists (absname, querystring, interactive, statptr, quick) tem = do_yes_or_no_p (tem); UNGCPRO; if (NILP (tem)) - Fsignal (Qfile_already_exists, - Fcons (build_string ("File already exists"), - Fcons (absname, Qnil))); + xsignal2 (Qfile_already_exists, + build_string ("File already exists"), absname); if (statptr) *statptr = statbuf; } @@ -2500,9 +2498,8 @@ uid and gid of FILE to NEWNAME. */) { /* Restore original attributes. */ SetFileAttributes (filename, attributes); - Fsignal (Qfile_date_error, - Fcons (build_string ("Cannot set file date"), - Fcons (newname, Qnil))); + xsignal2 (Qfile_date_error, + build_string ("Cannot set file date"), newname); } /* Restore original attributes. */ SetFileAttributes (filename, attributes); @@ -2598,9 +2595,8 @@ uid and gid of FILE to NEWNAME. */) EMACS_SET_SECS_USECS (mtime, st.st_mtime, 0); if (set_file_times (SDATA (encoded_newname), atime, mtime)) - Fsignal (Qfile_date_error, - Fcons (build_string ("Cannot set file date"), - Fcons (newname, Qnil))); + xsignal2 (Qfile_date_error, + build_string ("Cannot set file date"), newname); } } @@ -2696,9 +2692,9 @@ If file has multiple names, it continues to exist with the other names. */) GCPRO1 (filename); if (!NILP (Ffile_directory_p (filename)) && NILP (Ffile_symlink_p (filename))) - Fsignal (Qfile_error, - Fcons (build_string ("Removing old name: is a directory"), - Fcons (filename, Qnil))); + xsignal2 (Qfile_error, + build_string ("Removing old name: is a directory"), + filename); UNGCPRO; filename = Fexpand_file_name (filename, Qnil); @@ -3848,9 +3844,8 @@ actually used. */) goto notfound; if (! NILP (replace) || ! NILP (beg) || ! NILP (end)) - Fsignal (Qfile_error, - Fcons (build_string ("not a regular file"), - Fcons (orig_filename, Qnil))); + xsignal2 (Qfile_error, + build_string ("not a regular file"), orig_filename); } #endif @@ -4723,9 +4718,8 @@ actually used. */) } #endif /* CLASH_DETECTION */ if (not_regular) - Fsignal (Qfile_error, - Fcons (build_string ("not a regular file"), - Fcons (orig_filename, Qnil))); + xsignal2 (Qfile_error, + build_string ("not a regular file"), orig_filename); } if (set_coding_system) @@ -6630,19 +6624,17 @@ of file names regardless of the current language environment. */); staticpro (&Qcar_less_than_car); Fput (Qfile_error, Qerror_conditions, - Fcons (Qfile_error, Fcons (Qerror, Qnil))); + list2 (Qfile_error, Qerror)); Fput (Qfile_error, Qerror_message, build_string ("File error")); Fput (Qfile_already_exists, Qerror_conditions, - Fcons (Qfile_already_exists, - Fcons (Qfile_error, Fcons (Qerror, Qnil)))); + list3 (Qfile_already_exists, Qfile_error, Qerror)); Fput (Qfile_already_exists, Qerror_message, build_string ("File already exists")); Fput (Qfile_date_error, Qerror_conditions, - Fcons (Qfile_date_error, - Fcons (Qfile_error, Fcons (Qerror, Qnil)))); + list3 (Qfile_date_error, Qfile_error, Qerror)); Fput (Qfile_date_error, Qerror_message, build_string ("Cannot set file date")); From edef16312ebfce4799a96ceece8131d7a41509e9 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:27:54 +0000 Subject: [PATCH 307/336] (arith_error, range_error, domain_error): Use xsignal2. (range_error2, domain_error2): Use xsignal3. (rounding_driver, fmod_float): Use xsignal0. (float_error): Use xsignal1. (matherr): Use xsignal. --- src/floatfns.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/floatfns.c b/src/floatfns.c index d5ca50f9165..dd879de7eb8 100644 --- a/src/floatfns.c +++ b/src/floatfns.c @@ -201,17 +201,15 @@ static char *float_error_fn_name; while (0) #define arith_error(op,arg) \ - Fsignal (Qarith_error, Fcons (build_string ((op)), Fcons ((arg), Qnil))) + xsignal2 (Qarith_error, build_string ((op)), (arg)) #define range_error(op,arg) \ - Fsignal (Qrange_error, Fcons (build_string ((op)), Fcons ((arg), Qnil))) + xsignal2 (Qrange_error, build_string ((op)), (arg)) #define range_error2(op,a1,a2) \ - Fsignal (Qrange_error, Fcons (build_string ((op)), \ - Fcons ((a1), Fcons ((a2), Qnil)))) + xsignal3 (Qrange_error, build_string ((op)), (a1), (a2)) #define domain_error(op,arg) \ - Fsignal (Qdomain_error, Fcons (build_string ((op)), Fcons ((arg), Qnil))) + xsignal2 (Qdomain_error, build_string ((op)), (arg)) #define domain_error2(op,a1,a2) \ - Fsignal (Qdomain_error, Fcons (build_string ((op)), \ - Fcons ((a1), Fcons ((a2), Qnil)))) + xsignal3 (Qdomain_error, build_string ((op)), (a1), (a2)) /* Extract a Lisp number as a `double', or signal an error. */ @@ -756,7 +754,7 @@ rounding_driver (arg, divisor, double_round, int_round2, name) f1 = FLOATP (arg) ? XFLOAT_DATA (arg) : XINT (arg); f2 = (FLOATP (divisor) ? XFLOAT_DATA (divisor) : XINT (divisor)); if (! IEEE_FLOATING_POINT && f2 == 0) - Fsignal (Qarith_error, Qnil); + xsignal0 (Qarith_error); IN_FLOAT2 (f1 = (*double_round) (f1 / f2), name, arg, divisor); FLOAT_TO_INT2 (f1, arg, name, arg, divisor); @@ -767,7 +765,7 @@ rounding_driver (arg, divisor, double_round, int_round2, name) i2 = XINT (divisor); if (i2 == 0) - Fsignal (Qarith_error, Qnil); + xsignal0 (Qarith_error); XSETINT (arg, (*int_round2) (i1, i2)); return arg; @@ -907,7 +905,7 @@ fmod_float (x, y) f2 = FLOATP (y) ? XFLOAT_DATA (y) : XINT (y); if (! IEEE_FLOATING_POINT && f2 == 0) - Fsignal (Qarith_error, Qnil); + xsignal0 (Qarith_error); /* If the "remainder" comes out with the wrong sign, fix it. */ IN_FLOAT2 ((f1 = fmod (f1, f2), @@ -986,7 +984,7 @@ float_error (signo) SIGNAL_THREAD_CHECK (signo); in_float = 0; - Fsignal (Qarith_error, Fcons (float_error_arg, Qnil)); + xsignal1 (Qarith_error, float_error_arg); } /* Another idea was to replace the library function `infnan' @@ -1014,11 +1012,11 @@ matherr (x) : Qnil))); switch (x->type) { - case DOMAIN: Fsignal (Qdomain_error, args); break; - case SING: Fsignal (Qsingularity_error, args); break; - case OVERFLOW: Fsignal (Qoverflow_error, args); break; - case UNDERFLOW: Fsignal (Qunderflow_error, args); break; - default: Fsignal (Qarith_error, args); break; + case DOMAIN: xsignal (Qdomain_error, args); break; + case SING: xsignal (Qsingularity_error, args); break; + case OVERFLOW: xsignal (Qoverflow_error, args); break; + case UNDERFLOW: xsignal (Qunderflow_error, args); break; + default: xsignal (Qarith_error, args); break; } return (1); /* don't set errno or print a message */ } From 692ae65c86d601f90c0b1937546ebcb874bda066 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:28:02 +0000 Subject: [PATCH 308/336] (Flength): wrong_type_argument is no-return. (hashfn_user_defined, Fmake_hash_table): Use signal_error. (Fmd5): Use xsignal1. --- src/fns.c | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/src/fns.c b/src/fns.c index 146d46b69b8..c222a6c45e0 100644 --- a/src/fns.c +++ b/src/fns.c @@ -182,7 +182,7 @@ To get the number of bytes, use `string-bytes'. */) else if (NILP (sequence)) XSETFASTINT (val, 0); else - val = wrong_type_argument (Qsequencep, sequence); + wrong_type_argument (Qsequencep, sequence); return val; } @@ -4487,10 +4487,7 @@ hashfn_user_defined (h, key) args[1] = key; hash = Ffuncall (2, args); if (!INTEGERP (hash)) - Fsignal (Qerror, - list2 (build_string ("Invalid hash code returned from \ -user-supplied hash function"), - hash)); + signal_error ("Invalid hash code returned from user-supplied hash function", hash); return XUINT (hash); } @@ -5246,8 +5243,7 @@ usage: (make-hash-table &rest KEYWORD-ARGS) */) prop = Fget (test, Qhash_table_test); if (!CONSP (prop) || !CONSP (XCDR (prop))) - Fsignal (Qerror, list2 (build_string ("Invalid hash table test"), - test)); + signal_error ("Invalid hash table test", test); user_test = XCAR (prop); user_hash = XCAR (XCDR (prop)); } @@ -5260,9 +5256,7 @@ usage: (make-hash-table &rest KEYWORD-ARGS) */) if (NILP (size)) size = make_number (DEFAULT_HASH_SIZE); else if (!INTEGERP (size) || XINT (size) < 0) - Fsignal (Qerror, - list2 (build_string ("Invalid hash table size"), - size)); + signal_error ("Invalid hash table size", size); /* Look for `:rehash-size SIZE'. */ i = get_key_arg (QCrehash_size, nargs, args, used); @@ -5270,9 +5264,7 @@ usage: (make-hash-table &rest KEYWORD-ARGS) */) if (!NUMBERP (rehash_size) || (INTEGERP (rehash_size) && XINT (rehash_size) <= 0) || XFLOATINT (rehash_size) <= 1.0) - Fsignal (Qerror, - list2 (build_string ("Invalid hash table rehash size"), - rehash_size)); + signal_error ("Invalid hash table rehash size", rehash_size); /* Look for `:rehash-threshold THRESHOLD'. */ i = get_key_arg (QCrehash_threshold, nargs, args, used); @@ -5280,9 +5272,7 @@ usage: (make-hash-table &rest KEYWORD-ARGS) */) if (!FLOATP (rehash_threshold) || XFLOATINT (rehash_threshold) <= 0.0 || XFLOATINT (rehash_threshold) > 1.0) - Fsignal (Qerror, - list2 (build_string ("Invalid hash table rehash threshold"), - rehash_threshold)); + signal_error ("Invalid hash table rehash threshold", rehash_threshold); /* Look for `:weakness WEAK'. */ i = get_key_arg (QCweakness, nargs, args, used); @@ -5294,14 +5284,12 @@ usage: (make-hash-table &rest KEYWORD-ARGS) */) && !EQ (weak, Qvalue) && !EQ (weak, Qkey_or_value) && !EQ (weak, Qkey_and_value)) - Fsignal (Qerror, list2 (build_string ("Invalid hash table weakness"), - weak)); + signal_error ("Invalid hash table weakness", weak); /* Now, all args should have been used up, or there's a problem. */ for (i = 0; i < nargs; ++i) if (!used[i]) - Fsignal (Qerror, - list2 (build_string ("Invalid argument list"), args[i])); + signal_error ("Invalid argument list", args[i]); return make_hash_table (test, size, rehash_size, rehash_threshold, weak, user_test, user_hash); @@ -5552,8 +5540,7 @@ guesswork fails. Normally, an error is signaled in such case. */) if (!NILP (noerror)) coding_system = Qraw_text; else - while (1) - Fsignal (Qcoding_system_error, Fcons (coding_system, Qnil)); + xsignal1 (Qcoding_system_error, coding_system); } if (STRING_MULTIBYTE (object)) @@ -5687,8 +5674,7 @@ guesswork fails. Normally, an error is signaled in such case. */) if (!NILP (noerror)) coding_system = Qraw_text; else - while (1) - Fsignal (Qcoding_system_error, Fcons (coding_system, Qnil)); + xsignal1 (Qcoding_system_error, coding_system); } } From 9dc951871640a56262fa3a0e52fdf8119f8cafb6 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:28:09 +0000 Subject: [PATCH 309/336] (x_set_line_spacing, x_set_screen_gamma): Use signal_error. --- src/frame.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/frame.c b/src/frame.c index 6e2a1a21e55..1fdeb129f89 100644 --- a/src/frame.c +++ b/src/frame.c @@ -3030,8 +3030,7 @@ x_set_line_spacing (f, new_value, old_value) else if (NATNUMP (new_value)) f->extra_line_spacing = XFASTINT (new_value); else - Fsignal (Qerror, Fcons (build_string ("Invalid line-spacing"), - Fcons (new_value, Qnil))); + signal_error ("Invalid line-spacing", new_value); if (FRAME_VISIBLE_P (f)) redraw_frame (f); } @@ -3051,8 +3050,7 @@ x_set_screen_gamma (f, new_value, old_value) /* The value 0.4545 is the normal viewing gamma. */ f->gamma = 1.0 / (0.4545 * XFLOATINT (new_value)); else - Fsignal (Qerror, Fcons (build_string ("Invalid screen-gamma"), - Fcons (new_value, Qnil))); + signal_error ("Invalid screen-gamma", new_value); clear_face_cache (0); } From 43cae48c41f5f20bffdf8277df8dac479225d450 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:28:16 +0000 Subject: [PATCH 310/336] (recursive_edit_1): Use xsignal1. --- src/keyboard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/keyboard.c b/src/keyboard.c index 4cbccb0b1a2..f6e8eadcf8c 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -1006,7 +1006,7 @@ recursive_edit_1 () /* Handle throw from read_minibuf when using minibuffer while it's active but we're in another window. */ if (STRINGP (val)) - Fsignal (Qerror, Fcons (val, Qnil)); + xsignal1 (Qerror, val); return unbind_to (count, Qnil); } From fb53f3543b3e779582d5183fb58c28dd138dfd84 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:28:21 +0000 Subject: [PATCH 311/336] (Fmap_keymap): Use xsignal1. --- src/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/keymap.c b/src/keymap.c index 6f57bd63376..71fd5f03390 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -758,7 +758,7 @@ usage: (map-keymap FUNCTION KEYMAP) */) if (INTEGERP (function)) /* We have to stop integers early since map_keymap gives them special significance. */ - Fsignal (Qinvalid_function, Fcons (function, Qnil)); + xsignal1 (Qinvalid_function, function); if (! NILP (sort_first)) return call3 (intern ("map-keymap-internal"), function, keymap, Qt); From 7e85c1aa4daec9267204ac5757a3f149a7914c6a Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:28:28 +0000 Subject: [PATCH 312/336] (list1): Add EXFUN. (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error): Add prototypes. Mark them as no-return. --- src/lisp.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lisp.h b/src/lisp.h index e276ac02b28..8d9e2b7cfa4 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -2556,6 +2556,7 @@ extern void mark_object P_ ((Lisp_Object)); extern Lisp_Object Vpurify_flag; extern Lisp_Object Vmemory_full; EXFUN (Fcons, 2); +EXFUN (list1, 1); EXFUN (list2, 2); EXFUN (list3, 3); EXFUN (list4, 4); @@ -2708,6 +2709,12 @@ EXFUN (Fthrow, 2) NO_RETURN; EXFUN (Funwind_protect, UNEVALLED); EXFUN (Fcondition_case, UNEVALLED); EXFUN (Fsignal, 2); +extern void xsignal P_ ((Lisp_Object, Lisp_Object)) NO_RETURN; +extern void xsignal0 P_ ((Lisp_Object)) NO_RETURN; +extern void xsignal1 P_ ((Lisp_Object, Lisp_Object)) NO_RETURN; +extern void xsignal2 P_ ((Lisp_Object, Lisp_Object, Lisp_Object)) NO_RETURN; +extern void xsignal3 P_ ((Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)) NO_RETURN; +extern void signal_error P_ ((char *, Lisp_Object)) NO_RETURN; EXFUN (Fautoload, 5); EXFUN (Fcommandp, 2); EXFUN (Feval, 1); From 336d4a9c4fa1b6b2136178b25276e8acc9e17986 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:28:34 +0000 Subject: [PATCH 313/336] (Fload): Use xsignal2, signal_error. (end_of_file_error): Use xsignal0, xsignal1. (read0): Use xsignal1. (invalid_syntax): New error function marked no-return. (read_integer, read1, read_list): Use it. --- src/lread.c | 76 ++++++++++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 36 deletions(-) diff --git a/src/lread.c b/src/lread.c index 3ee50e946a7..c407b5947d9 100644 --- a/src/lread.c +++ b/src/lread.c @@ -214,6 +214,8 @@ static void readevalloop P_ ((Lisp_Object, FILE*, Lisp_Object, static Lisp_Object load_unwind P_ ((Lisp_Object)); static Lisp_Object load_descriptor_unwind P_ ((Lisp_Object)); +static void invalid_syntax P_ ((const char *, int)) NO_RETURN; + /* Handle unreading and rereading of characters. Write READCHAR to read a character, @@ -797,10 +799,8 @@ Return t if the file exists and loads successfully. */) if (fd == -1) { if (NILP (noerror)) - Fsignal (Qfile_error, Fcons (build_string ("Cannot open load file"), - Fcons (file, Qnil))); - else - return Qnil; + xsignal2 (Qfile_error, build_string ("Cannot open load file"), file); + return Qnil; } /* Tell startup.el whether or not we found the user's init file. */ @@ -841,8 +841,7 @@ Return t if the file exists and loads successfully. */) { if (fd >= 0) emacs_close (fd); - Fsignal (Qerror, Fcons (build_string ("Recursive load"), - Fcons (found, Vloads_in_progress))); + signal_error ("Recursive load", Fcons (found, Vloads_in_progress)); } record_unwind_protect (record_load_unwind, Vloads_in_progress); Vloads_in_progress = Fcons (found, Vloads_in_progress); @@ -1339,11 +1338,9 @@ end_of_file_error () Lisp_Object data; if (STRINGP (Vload_file_name)) - data = Fcons (Vload_file_name, Qnil); - else - data = Qnil; + xsignal1 (Qend_of_file, Vload_file_name); - Fsignal (Qend_of_file, data); + xsignal0 (Qend_of_file); } /* UNIBYTE specifies how to set load_convert_to_unibyte @@ -1694,6 +1691,21 @@ read_internal_start (stream, start, end) return retval; } + +/* Signal Qinvalid_read_syntax error. + S is error string of length N (if > 0) */ + +static void +invalid_syntax (s, n) + const char *s; + int n; +{ + if (!n) + n = strlen (s); + xsignal1 (Qinvalid_read_syntax, make_string (s, n)); +} + + /* Use this for recursive reads, in contexts where internal tokens are not allowed. */ @@ -1705,12 +1717,11 @@ read0 (readcharfun) int c; val = read1 (readcharfun, &c, 0); - if (c) - Fsignal (Qinvalid_read_syntax, Fcons (Fmake_string (make_number (1), - make_number (c)), - Qnil)); + if (!c) + return val; - return val; + xsignal1 (Qinvalid_read_syntax, + Fmake_string (make_number (1), make_number (c))); } static int read_buffer_size; @@ -1978,7 +1989,6 @@ read_escape (readcharfun, stringp, byterep) } } - /* Read an integer in radix RADIX using READCHARFUN to read characters. RADIX must be in the interval [2..36]; if it isn't, a read error is signaled . Value is the integer read. Signals an @@ -2038,7 +2048,7 @@ read_integer (readcharfun, radix) { char buf[50]; sprintf (buf, "integer, radix %d", radix); - Fsignal (Qinvalid_read_syntax, Fcons (build_string (buf), Qnil)); + invalid_syntax (buf, 0); } return make_number (sign * number); @@ -2149,10 +2159,9 @@ read1 (readcharfun, pch, first_in_list) XCHAR_TABLE (tmp)->top = Qnil; return tmp; } - Fsignal (Qinvalid_read_syntax, - Fcons (make_string ("#^^", 3), Qnil)); + invalid_syntax ("#^^", 3); } - Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#^", 2), Qnil)); + invalid_syntax ("#^", 2); } if (c == '&') { @@ -2174,8 +2183,7 @@ read1 (readcharfun, pch, first_in_list) Accept such input in case it came from an old version. */ && ! (XFASTINT (length) == (SCHARS (tmp) - 1) * BOOL_VECTOR_BITS_PER_CHAR)) - Fsignal (Qinvalid_read_syntax, - Fcons (make_string ("#&...", 5), Qnil)); + invalid_syntax ("#&...", 5); val = Fmake_bool_vector (length, Qnil); bcopy (SDATA (tmp), XBOOL_VECTOR (val)->data, @@ -2186,8 +2194,7 @@ read1 (readcharfun, pch, first_in_list) &= (1 << (XINT (length) % BOOL_VECTOR_BITS_PER_CHAR)) - 1; return val; } - Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#&...", 5), - Qnil)); + invalid_syntax ("#&...", 5); } if (c == '[') { @@ -2207,7 +2214,7 @@ read1 (readcharfun, pch, first_in_list) /* Read the string itself. */ tmp = read1 (readcharfun, &ch, 0); if (ch != 0 || !STRINGP (tmp)) - Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#", 1), Qnil)); + invalid_syntax ("#", 1); GCPRO1 (tmp); /* Read the intervals and their properties. */ while (1) @@ -2223,9 +2230,7 @@ read1 (readcharfun, pch, first_in_list) if (ch == 0) plist = read1 (readcharfun, &ch, 0); if (ch) - Fsignal (Qinvalid_read_syntax, - Fcons (build_string ("invalid string property list"), - Qnil)); + invalid_syntax ("Invalid string property list", 0); Fset_text_properties (beg, end, plist, tmp); } UNGCPRO; @@ -2378,7 +2383,7 @@ read1 (readcharfun, pch, first_in_list) return read_integer (readcharfun, 2); UNREAD (c); - Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#", 1), Qnil)); + invalid_syntax ("#", 1); case ';': while ((c = READCHAR) >= 0 && c != '\n'); @@ -2472,10 +2477,10 @@ read1 (readcharfun, pch, first_in_list) || (new_backquote_flag && next_char == ',')))); } UNREAD (next_char); - if (!ok) - Fsignal (Qinvalid_read_syntax, Fcons (make_string ("?", 1), Qnil)); + if (ok) + return make_number (c); - return make_number (c); + invalid_syntax ("?", 1); } case '"': @@ -3120,8 +3125,7 @@ read_list (flag, readcharfun) { if (ch == ']') return val; - Fsignal (Qinvalid_read_syntax, - Fcons (make_string (") or . in a vector", 18), Qnil)); + invalid_syntax (") or . in a vector", 18); } if (ch == ')') return val; @@ -3214,9 +3218,9 @@ read_list (flag, readcharfun) return val; } - return Fsignal (Qinvalid_read_syntax, Fcons (make_string (". in wrong context", 18), Qnil)); + invalid_syntax (". in wrong context", 18); } - return Fsignal (Qinvalid_read_syntax, Fcons (make_string ("] in a list", 11), Qnil)); + invalid_syntax ("] in a list", 11); } tem = (read_pure && flag <= 0 ? pure_cons (elt, Qnil) From 4ae7943dc65f588b775eece3f4bc8fc310adff5c Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:28:39 +0000 Subject: [PATCH 314/336] (x_get_local_selection): Use signal_error. --- src/macselect.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/macselect.c b/src/macselect.c index 3afea1e9813..67a28cf9e64 100644 --- a/src/macselect.c +++ b/src/macselect.c @@ -594,11 +594,9 @@ x_get_local_selection (selection_symbol, target_type, local_request) && INTEGERP (XCAR (XCDR (check))) && NILP (XCDR (XCDR (check)))))) return value; - else - return - Fsignal (Qerror, - Fcons (build_string ("invalid data returned by selection-conversion function"), - Fcons (handler_fn, Fcons (value, Qnil)))); + + signal_error ("Invalid data returned by selection-conversion function", + list2 (handler_fn, value)); } From ebe061ca4d57ec8074f81a8af4b2b4c11fc67bb0 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:28:45 +0000 Subject: [PATCH 315/336] (Fmsdos_set_mouse_buttons): Use xsignal2. --- src/msdos.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/msdos.c b/src/msdos.c index 5b4f630ea30..2068af544ac 100644 --- a/src/msdos.c +++ b/src/msdos.c @@ -204,9 +204,9 @@ them. This happens with wheeled mice on Windows 9X, for example. */) CHECK_NUMBER (nbuttons); n = XINT (nbuttons); if (n < 2 || n > 3) - Fsignal (Qargs_out_of_range, - Fcons (build_string ("only 2 or 3 mouse buttons are supported"), - Fcons (nbuttons, Qnil))); + xsignal2 (Qargs_out_of_range, + build_string ("only 2 or 3 mouse buttons are supported"), + nbuttons); mouse_setup_buttons (n); return Qnil; } From 06f77a8a2f6ce2790bb51987ad539748dae5ab43 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:28:53 +0000 Subject: [PATCH 316/336] (compile_pattern_1): Use xsignal1. (signal_failure): Remove (was only called once). (search_command): Use xsignal1 instead of signal_failure. --- src/search.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/search.c b/src/search.c index fe124091009..5d532a9d8dd 100644 --- a/src/search.c +++ b/src/search.c @@ -83,6 +83,9 @@ static Lisp_Object last_thing_searched; Lisp_Object Qinvalid_regexp; +/* Error condition used for failing searches */ +Lisp_Object Qsearch_failed; + Lisp_Object Vsearch_spaces_regexp; static void set_search_regs (); @@ -179,7 +182,7 @@ compile_pattern_1 (cp, pattern, translate, regp, posix, multibyte) re_set_syntax (old); UNBLOCK_INPUT; if (val) - Fsignal (Qinvalid_regexp, Fcons (build_string (val), Qnil)); + xsignal1 (Qinvalid_regexp, build_string (val)); cp->regexp = Fcopy_sequence (pattern); } @@ -266,16 +269,6 @@ compile_pattern (pattern, regp, translate, posix, multibyte) return &cp->buf; } -/* Error condition used for failing searches */ -Lisp_Object Qsearch_failed; - -Lisp_Object -signal_failure (arg) - Lisp_Object arg; -{ - Fsignal (Qsearch_failed, Fcons (arg, Qnil)); - return Qnil; -} static Lisp_Object looking_at_1 (string, posix) @@ -948,7 +941,8 @@ search_command (string, bound, noerror, count, direction, RE, posix) if (np <= 0) { if (NILP (noerror)) - return signal_failure (string); + xsignal1 (Qsearch_failed, string); + if (!EQ (noerror, Qt)) { if (lim < BEGV || lim > ZV) From 9471945bad003c2f944596145e8930e2632c1807 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:29:00 +0000 Subject: [PATCH 317/336] (scan_lists): Use xsignal3. --- src/syntax.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/src/syntax.c b/src/syntax.c index 9959c17ad47..eee9151f878 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -2347,10 +2347,9 @@ scan_lists (from, count, depth, sexpflag) close1: if (!--depth) goto done; if (depth < min_depth) - Fsignal (Qscan_error, - Fcons (build_string ("Containing expression ends prematurely"), - Fcons (make_number (last_good), - Fcons (make_number (from), Qnil)))); + xsignal3 (Qscan_error, + build_string ("Containing expression ends prematurely"), + make_number (last_good), make_number (from)); break; case Sstring: @@ -2499,10 +2498,9 @@ scan_lists (from, count, depth, sexpflag) open2: if (!--depth) goto done2; if (depth < min_depth) - Fsignal (Qscan_error, - Fcons (build_string ("Containing expression ends prematurely"), - Fcons (make_number (last_good), - Fcons (make_number (from), Qnil)))); + xsignal3 (Qscan_error, + build_string ("Containing expression ends prematurely"), + make_number (last_good), make_number (from)); break; case Sendcomment: @@ -2571,12 +2569,9 @@ scan_lists (from, count, depth, sexpflag) return val; lose: - Fsignal (Qscan_error, - Fcons (build_string ("Unbalanced parentheses"), - Fcons (make_number (last_good), - Fcons (make_number (from), Qnil)))); - abort (); - /* NOTREACHED */ + xsignal3 (Qscan_error, + build_string ("Unbalanced parentheses"), + make_number (last_good), make_number (from)); } DEFUN ("scan-lists", Fscan_lists, Sscan_lists, 3, 3, 0, From d0a29e1de77e4c1c01c46d80b6ac2df06b1df2b3 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:29:40 +0000 Subject: [PATCH 318/336] (text_read_only): Use xsignal0, xsignal1. --- src/textprop.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/textprop.c b/src/textprop.c index 0318d12913f..b89d73a7ef9 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -86,7 +86,10 @@ static void text_read_only (propval) Lisp_Object propval; { - Fsignal (Qtext_read_only, STRINGP (propval) ? Fcons (propval, Qnil) : Qnil); + if (STRINGP (propval)) + xsignal1 (Qtext_read_only, propval); + + xsignal0 (Qtext_read_only); } From dbfcf224aceae043fb06e619d981fc0d6a39a1f2 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:29:49 +0000 Subject: [PATCH 319/336] (unexec): Use xsignal. --- src/unexsol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unexsol.c b/src/unexsol.c index 426a7f7cb99..9f919faedc0 100644 --- a/src/unexsol.c +++ b/src/unexsol.c @@ -24,7 +24,7 @@ unexec (char *new_name, char *old_name, unsigned int data_start, errstring = code_convert_string_norecord (build_string (dlerror ()), Vlocale_coding_system, 0); - Fsignal (Qfile_error, + xsignal (Qfile_error, Fcons (build_string ("Cannot unexec"), Fcons (errstring, data))); } From ba96a5cfd407db0f0b5d1d778cf548cedf5fc584 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:29:55 +0000 Subject: [PATCH 320/336] (window_scroll_pixel_based, window_scroll_line_based): Use xsignal0. --- src/window.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/window.c b/src/window.c index 6859fc92f30..5a7655999f5 100644 --- a/src/window.c +++ b/src/window.c @@ -4959,9 +4959,9 @@ window_scroll_pixel_based (window, n, whole, noerror) else if (noerror) return; else if (n < 0) /* could happen with empty buffers */ - Fsignal (Qbeginning_of_buffer, Qnil); + xsignal0 (Qbeginning_of_buffer); else - Fsignal (Qend_of_buffer, Qnil); + xsignal0 (Qend_of_buffer); } else { @@ -4972,7 +4972,7 @@ window_scroll_pixel_based (window, n, whole, noerror) else if (noerror) return; else - Fsignal (Qbeginning_of_buffer, Qnil); + xsignal0 (Qbeginning_of_buffer); } /* If control gets here, then we vscrolled. */ @@ -5173,7 +5173,7 @@ window_scroll_line_based (window, n, whole, noerror) if (noerror) return; else - Fsignal (Qbeginning_of_buffer, Qnil); + xsignal0 (Qbeginning_of_buffer); } if (pos < ZV) @@ -5259,7 +5259,7 @@ window_scroll_line_based (window, n, whole, noerror) if (noerror) return; else - Fsignal (Qend_of_buffer, Qnil); + xsignal0 (Qend_of_buffer); } } From 8009eb445e3bb2e536efed1bfa3cef69482ae079 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:30:04 +0000 Subject: [PATCH 321/336] * xfaces.c (signal_error): Move to eval.c. (resolve_face_name): Use xsignal1. --- src/xfaces.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/src/xfaces.c b/src/xfaces.c index 14572af966d..f67ea61b37a 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -486,7 +486,6 @@ static int font_scalable_p P_ ((struct font_name *)); static int get_lface_attributes P_ ((struct frame *, Lisp_Object, Lisp_Object *, int)); static int load_pixmap P_ ((struct frame *, Lisp_Object, unsigned *, unsigned *)); static unsigned char *xstrlwr P_ ((unsigned char *)); -static void signal_error P_ ((char *, Lisp_Object)); static struct frame *frame_or_selected_frame P_ ((Lisp_Object, int)); static void load_face_font P_ ((struct frame *, struct face *, int)); static void load_face_colors P_ ((struct frame *, struct face *, Lisp_Object *)); @@ -855,17 +854,6 @@ xstrlwr (s) } -/* Signal `error' with message S, and additional argument ARG. */ - -static void -signal_error (s, arg) - char *s; - Lisp_Object arg; -{ - Fsignal (Qerror, Fcons (build_string (s), Fcons (arg, Qnil))); -} - - /* If FRAME is nil, return a pointer to the selected frame. Otherwise, check that FRAME is a live frame, and return a pointer to it. NPARAM is the parameter number of FRAME, for @@ -3273,7 +3261,7 @@ resolve_face_name (face_name, signal_p) if (EQ (hare, tortoise)) { if (signal_p) - Fsignal (Qcircular_list, Fcons (orig_face, Qnil)); + xsignal1 (Qcircular_list, orig_face); return Qdefault; } } From 93217cef09eec89554157b06b7d15a6c69f0694f Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:30:13 +0000 Subject: [PATCH 322/336] (x_decode_color): Use signal_error. --- src/xfns.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/xfns.c b/src/xfns.c index dd0510cf0fa..47916fccb71 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -759,9 +759,7 @@ x_decode_color (f, color_name, mono_color) if (x_defined_color (f, SDATA (color_name), &cdef, 1)) return cdef.pixel; - Fsignal (Qerror, Fcons (build_string ("Undefined color"), - Fcons (color_name, Qnil))); - return 0; + signal_error ("Undefined color", color_name); } From 4d30ce50e9361c678a1162a062591a5a556340f5 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 13:30:20 +0000 Subject: [PATCH 323/336] (x_get_local_selection, copy_multiple_data) (x_get_window_property_as_lisp_data) (lisp_data_to_selection_data, CHECK_CUT_BUFFER) (Fx_get_cut_buffer_internal): Use signal_error. --- src/xselect.c | 82 +++++++++++++++++++-------------------------------- 1 file changed, 30 insertions(+), 52 deletions(-) diff --git a/src/xselect.c b/src/xselect.c index 9c2c221c021..fcac2860359 100644 --- a/src/xselect.c +++ b/src/xselect.c @@ -555,11 +555,9 @@ x_get_local_selection (selection_symbol, target_type, local_request) && INTEGERP (XCAR (XCDR (check))) && NILP (XCDR (XCDR (check)))))) return value; - else - return - Fsignal (Qerror, - Fcons (build_string ("invalid data returned by selection-conversion function"), - Fcons (handler_fn, Fcons (value, Qnil)))); + + signal_error ("Invalid data returned by selection-conversion function", + list2 (handler_fn, value)); } /* Subroutines of x_reply_selection_request. */ @@ -1348,8 +1346,7 @@ copy_multiple_data (obj) CHECK_VECTOR (vec2); if (XVECTOR (vec2)->size != 2) /* ??? Confusing error message */ - Fsignal (Qerror, Fcons (build_string ("vectors must be of length 2"), - Fcons (vec2, Qnil))); + signal_error ("Vectors must be of length 2", vec2); XVECTOR (vec)->contents [i] = Fmake_vector (2, Qnil); XVECTOR (XVECTOR (vec)->contents [i])->contents [0] = XVECTOR (vec2)->contents [0]; @@ -1717,19 +1714,15 @@ x_get_window_property_as_lisp_data (display, window, property, target_type, there_is_a_selection_owner = XGetSelectionOwner (display, selection_atom); UNBLOCK_INPUT; - Fsignal (Qerror, - there_is_a_selection_owner - ? Fcons (build_string ("selection owner couldn't convert"), - actual_type - ? Fcons (target_type, - Fcons (x_atom_to_symbol (display, - actual_type), - Qnil)) - : Fcons (target_type, Qnil)) - : Fcons (build_string ("no selection"), - Fcons (x_atom_to_symbol (display, - selection_atom), - Qnil))); + if (there_is_a_selection_owner) + signal_error ("Selection owner couldn't convert", + actual_type + ? list2 (target_type, + x_atom_to_symbol (display, actual_type)) + : target_type); + else + signal_error ("No selection", + x_atom_to_symbol (display, selection_atom)); } if (actual_type == dpyinfo->Xatom_INCR) @@ -1929,10 +1922,7 @@ lisp_data_to_selection_data (display, obj, { if (SCHARS (obj) < SBYTES (obj)) /* OBJ is a multibyte string containing a non-ASCII char. */ - Fsignal (Qerror, /* Qselection_error */ - Fcons (build_string - ("Non-ASCII string must be encoded in advance"), - Fcons (obj, Qnil))); + signal_error ("Non-ASCII string must be encoded in advance", obj); if (NILP (type)) type = QSTRING; *format_ret = 8; @@ -1993,10 +1983,7 @@ lisp_data_to_selection_data (display, obj, (*(Atom **) data_ret) [i] = symbol_to_x_atom (dpyinfo, display, XVECTOR (obj)->contents [i]); else - Fsignal (Qerror, /* Qselection_error */ - Fcons (build_string - ("all elements of selection vector must have same type"), - Fcons (obj, Qnil))); + signal_error ("All elements of selection vector must have same type", obj); } #if 0 /* #### MULTIPLE doesn't work yet */ else if (VECTORP (XVECTOR (obj)->contents [0])) @@ -2012,10 +1999,9 @@ lisp_data_to_selection_data (display, obj, { Lisp_Object pair = XVECTOR (obj)->contents [i]; if (XVECTOR (pair)->size != 2) - Fsignal (Qerror, - Fcons (build_string - ("elements of the vector must be vectors of exactly two elements"), - Fcons (pair, Qnil))); + signal_error ( + "Elements of the vector must be vectors of exactly two elements", + pair); (*(Atom **) data_ret) [i * 2] = symbol_to_x_atom (dpyinfo, display, @@ -2025,10 +2011,8 @@ lisp_data_to_selection_data (display, obj, XVECTOR (pair)->contents [1]); } else - Fsignal (Qerror, - Fcons (build_string - ("all elements of the vector must be of the same type"), - Fcons (obj, Qnil))); + signal_error ("All elements of the vector must be of the same type", + obj); } #endif @@ -2043,10 +2027,9 @@ lisp_data_to_selection_data (display, obj, if (CONSP (XVECTOR (obj)->contents [i])) *format_ret = 32; else if (!INTEGERP (XVECTOR (obj)->contents [i])) - Fsignal (Qerror, /* Qselection_error */ - Fcons (build_string - ("elements of selection vector must be integers or conses of integers"), - Fcons (obj, Qnil))); + signal_error (/* Qselection_error */ + "Elements of selection vector must be integers or conses of integers", + obj); /* Use sizeof(long) even if it is more than 32 bits. See comment in x_get_window_property and x_fill_property_data. */ @@ -2063,9 +2046,7 @@ lisp_data_to_selection_data (display, obj, } } else - Fsignal (Qerror, /* Qselection_error */ - Fcons (build_string ("unrecognized selection data"), - Fcons (obj, Qnil))); + signal_error (/* Qselection_error */ "Unrecognized selection data", obj); *type_ret = symbol_to_x_atom (dpyinfo, display, type); } @@ -2351,15 +2332,13 @@ initialize_cut_buffers (display, window) #define CHECK_CUT_BUFFER(symbol) \ - { CHECK_SYMBOL ((symbol)); \ + do { CHECK_SYMBOL ((symbol)); \ if (!EQ((symbol), QCUT_BUFFER0) && !EQ((symbol), QCUT_BUFFER1) \ && !EQ((symbol), QCUT_BUFFER2) && !EQ((symbol), QCUT_BUFFER3) \ && !EQ((symbol), QCUT_BUFFER4) && !EQ((symbol), QCUT_BUFFER5) \ && !EQ((symbol), QCUT_BUFFER6) && !EQ((symbol), QCUT_BUFFER7)) \ - Fsignal (Qerror, \ - Fcons (build_string ("doesn't name a cut buffer"), \ - Fcons ((symbol), Qnil))); \ - } + signal_error ("Doesn't name a cut buffer", (symbol)); \ + } while (0) DEFUN ("x-get-cut-buffer-internal", Fx_get_cut_buffer_internal, Sx_get_cut_buffer_internal, 1, 1, 0, @@ -2392,10 +2371,9 @@ DEFUN ("x-get-cut-buffer-internal", Fx_get_cut_buffer_internal, return Qnil; if (format != 8 || type != XA_STRING) - Fsignal (Qerror, - Fcons (build_string ("cut buffer doesn't contain 8-bit data"), - Fcons (x_atom_to_symbol (display, type), - Fcons (make_number (format), Qnil)))); + signal_error ("Cut buffer doesn't contain 8-bit data", + list2 (x_atom_to_symbol (display, type), + make_number (format))); ret = (bytes ? make_unibyte_string ((char *) data, bytes) : Qnil); /* Use xfree, not XFree, because x_get_window_property From 4299563601c230f9b51b47659fdec13bec3d30e2 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 18 Jul 2006 13:50:29 +0000 Subject: [PATCH 324/336] fix bad page breaks --- lispref/ChangeLog | 5 +++++ lispref/customize.texi | 4 ++-- lispref/edebug.texi | 4 +--- lispref/functions.texi | 4 +--- lispref/loading.texi | 4 +++- lispref/minibuf.texi | 4 +++- lispref/variables.texi | 2 +- 7 files changed, 16 insertions(+), 11 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 6097e352276..07fb70f4839 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,8 @@ +2006-07-18 Karl Berry + + * variables.texi, functions.texi, customize.texi, loading.texi, + edebug.texi, minibuf.texi: fix page breaks through chapter 20. + 2006-07-17 Chong Yidong * commands.texi (Waiting): Document batch-mode sit-for behavior. diff --git a/lispref/customize.texi b/lispref/customize.texi index da2b8a068f9..3aca1a90bcf 100644 --- a/lispref/customize.texi +++ b/lispref/customize.texi @@ -699,7 +699,7 @@ that you specify for it. @item (list @var{element-types}@dots{}) The value must be a list with exactly as many elements as the -@var{element-types} you have specified; and each element must fit the +@var{element-types} given; and each element must fit the corresponding @var{element-type}. For example, @code{(list integer string function)} describes a list of @@ -718,7 +718,7 @@ The value must fit at least one of @var{alternative-types}. For example, @code{(choice integer string)} allows either an integer or a string. -In the customization buffer, the user selects one of the alternatives +In the customization buffer, the user selects an alternative using a menu, and can then edit the value in the usual way for that alternative. diff --git a/lispref/edebug.texi b/lispref/edebug.texi index 731e04c5d1d..b2bab6030ed 100644 --- a/lispref/edebug.texi +++ b/lispref/edebug.texi @@ -1541,12 +1541,10 @@ The default value is @code{step}. @end defopt @defopt edebug-trace -Non-@code{nil} means display a trace of function entry and exit. +If this is non-@code{nil}, trace each function entry and exit. Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one function entry or exit per line, indented by the recursion level. -The default value is @code{nil}. - Also see @code{edebug-tracing}, in @ref{Trace Buffer}. @end defopt diff --git a/lispref/functions.texi b/lispref/functions.texi index 6222ea4c8a5..a4c0b4b8fe4 100644 --- a/lispref/functions.texi +++ b/lispref/functions.texi @@ -766,12 +766,10 @@ in turn, and returns a list of the results. The argument @var{sequence} can be any kind of sequence except a char-table; that is, a list, a vector, a bool-vector, or a string. The result is always a list. The length of the result is the same as the -length of @var{sequence}. +length of @var{sequence}. For example: @smallexample @group -@exdent @r{For example:} - (mapcar 'car '((a b) (c d) (e f))) @result{} (a c e) (mapcar '1+ [1 2 3]) diff --git a/lispref/loading.texi b/lispref/loading.texi index ea995bb79e9..eb576f8fbbc 100644 --- a/lispref/loading.texi +++ b/lispref/loading.texi @@ -155,8 +155,10 @@ file, and it is @code{nil} otherwise. @end defvar @defvar load-read-function +This @anchor{Definition of load-read-function} -This variable specifies an alternate expression-reading function for +@c do not allow page break at anchor; work around Texinfo deficiency. +variable specifies an alternate expression-reading function for @code{load} and @code{eval-region} to use instead of @code{read}. The function should accept one argument, just as @code{read} does. diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi index a4639a67cb7..d4f94e5269b 100644 --- a/lispref/minibuf.texi +++ b/lispref/minibuf.texi @@ -208,8 +208,10 @@ properties unconditionally, regardless of the value of this variable. @end defvar @defvar minibuffer-local-map +This @anchor{Definition of minibuffer-local-map} -This is the default local keymap for reading from the minibuffer. By +@c avoid page break at anchor; work around Texinfo deficiency +is the default local keymap for reading from the minibuffer. By default, it makes the following bindings: @table @asis diff --git a/lispref/variables.texi b/lispref/variables.texi index d151f0eafe0..0106c8ec2c2 100644 --- a/lispref/variables.texi +++ b/lispref/variables.texi @@ -726,7 +726,7 @@ has no local bindings. @end group @group -;; @r{Here the value of @code{abracadabra},} +;; @r{Here, the value of @code{abracadabra},} ;; @r{which is @code{foo},} ;; @r{is the symbol whose value is examined.} (let ((abracadabra 'foo)) From 38ec05785ae6ab4c8a031897a64a8626bd4b39f0 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 18 Jul 2006 13:59:56 +0000 Subject: [PATCH 325/336] *** empty log message *** --- admin/FOR-RELEASE | 2 -- 1 file changed, 2 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 4fddc2dc523..8343d9ba1f5 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -31,8 +31,6 @@ and KDE projects, to use the new Emacs icons in etc/images/icons. * BUGS -** Simon Marshall reported on July 3, First CVS command generates empty buffer. - ** Markus Gritsch's report about Emacs looping on Windoze with the following .emacs file, and then reduce Emacs frame width to "something quite narrow": (setq-default truncate-lines t) From 5b5fca280513173a159e1a7575e69e9155befb13 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 14:06:39 +0000 Subject: [PATCH 326/336] *** empty log message *** --- lispref/ChangeLog | 27 +++++++------ src/ChangeLog | 99 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+), 11 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 07fb70f4839..7b6dbe9194b 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,7 +1,12 @@ +2006-07-18 Kim F. Storm + + * processes.texi (Low-Level Network): Rename node "Make Network" + to "Network Processes". + 2006-07-18 Karl Berry - * variables.texi, functions.texi, customize.texi, loading.texi, - edebug.texi, minibuf.texi: fix page breaks through chapter 20. + * variables.texi, functions.texi, customize.texi, loading.texi: + * edebug.texi, minibuf.texi: Fix page breaks through chapter 20. 2006-07-17 Chong Yidong @@ -11,20 +16,20 @@ * eval.texi, elisp.texi, text.texi: Use real doublequote inside menus. Put period and comma inside quotes. - + * loading.texi, markers.texi: Use real doublequote inside menus. * windows.texi: Put point and comma inside quotes. (Textual Scrolling): Use @samp for error message. - * variables.texi, tips.texi, syntax.texi, symbols.texi: - * strings.texi, streams.texi, processes.texi, os.texi: + * variables.texi, tips.texi, syntax.texi, symbols.texi: + * strings.texi, streams.texi, processes.texi, os.texi: * objects.texi, numbers.texi, modes.texi, minibuf.texi: * lists.texi, keymaps.texi, intro.texi, hash.texi, internals.texi: - * gpl.texi, functions.texi, files.texi, frames.texi, doclicense.texi: - * display.texi, control.texi, commands.texi, buffers.texi, anti.texi: + * gpl.texi, functions.texi, files.texi, frames.texi, doclicense.texi: + * display.texi, control.texi, commands.texi, buffers.texi, anti.texi: Put point and comma inside quotes. - + * control.texi (Processing of Errors): Add command-error-function. * variables.texi (File Local Variables): Clarify that @@ -39,10 +44,10 @@ 2006-07-16 Karl Berry - * objects.texi, numbers.texi, strings.texi, lists.texi, hash.texi, - control.texi: fix bad page breaks through chapter 10 (control). + * objects.texi, numbers.texi, strings.texi, lists.texi, hash.texi: + * control.texi: Fix bad page breaks through chapter 10 (control). - * anti.texi (Antinews): reorder face-attribute fns to avoid + * anti.texi (Antinews): Reorder face-attribute fns to avoid underfull hbox. 2006-07-15 Nick Roberts diff --git a/src/ChangeLog b/src/ChangeLog index b1c86a46142..67d26d13f99 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,102 @@ +2006-07-18 Kim F. Storm + + Cleanup Fsignal calls that never returns; now only use it for Qquit. + + * eval.c (xsignal): New func. Like Fsignal, but marked no-return. + (xsignal0, xsignal1, xsignal2, xsignal3): New no-return functions. + (signal_error): New no-return function (from xfaces.c). + (Fthrow): Use xsignal2 instead of Fsignal + abort. + (error): Use xsignal1 instead of Fsignal + abort. + (FletX, Flet, grow_specpdl): Use signal_error. + (Feval, Ffuncall, funcall_lambda): Use xsignal1, xsignal2. + + * alloc.c (buffer_memory_full, memory_full): Use xsignal. Remove loop. + (list1): New function. + + * lisp.h (list1): Add EXFUN. + (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error): + Add prototypes. Mark them as no-return. + + * buffer.c (Fbuffer_local_value, Fbarf_if_buffer_read_only): + Use xsignal1. + + * callint.c (check_mark): Use xsignal0. + + * casefiddle.c (casify_object): wrong_type_argument is no-return. + + * cmds.c (Fforward_char, Fdelete_char): Use xsignal0. + + * coding.c (Fcheck_coding_system): Use xsignal1. Remove loop. + (Fdefine_coding_system_internal): Use xsignal1. + + * data.c (circular_list_error): Use xsignal. + (wrong_type_argument): Use xsignal2. Don't care about return value. + (args_out_of_range, args_out_of_range_3): Use xsignal2, xsignal3. + Remove loop around Fsignal. + (indirect_variable, Fsymbol_value, set_internal, Fdefault_value) + (indirect_function, Findirect_function, Fstring_to_number) + (Fmakunbound, Ffmakunbound, Fsymbol_function, Ffset): Use xsignal1. + (arith_driver, float_arith_driver, Frem, Fmod, arith_error): + Use xsignal0. + + * doc.c (Fdocumentation): Use xsignal1. + + * editfns.c (region_limit, Fget_internal_run_time): Use xsignal0. + + * fileio.c (report_file_error): Use xsignal. + (barf_or_query_if_file_exists, Fcopy_file, Fdelete_file) + (Finsert_file_contents): Use xsignal2. + (syms_of_fileio): Use list2, list3. + + * floatfns.c (arith_error, range_error, domain_error): Use xsignal2. + (range_error2, domain_error2): Use xsignal3. + (rounding_driver, fmod_float): Use xsignal0. + (float_error): Use xsignal1. + (matherr): Use xsignal. + + * fns.c (Flength): wrong_type_argument is no-return. + (hashfn_user_defined, Fmake_hash_table): Use signal_error. + (Fmd5): Use xsignal1. + + * frame.c (x_set_line_spacing, x_set_screen_gamma): Use signal_error. + + * keyboard.c (recursive_edit_1): Use xsignal1. + + * keymap.c (Fmap_keymap): Use xsignal1. + + * lread.c (Fload): Use xsignal2, signal_error. + (end_of_file_error): Use xsignal0, xsignal1. + (read0): Use xsignal1. + (invalid_syntax): New error function marked no-return. + (read_integer, read1, read_list): Use it. + + * macselect.c (x_get_local_selection): Use signal_error. + + * msdos.c (Fmsdos_set_mouse_buttons): Use xsignal2. + + * search.c (compile_pattern_1): Use xsignal1. + (signal_failure): Remove (was only called once). + (search_command): Use xsignal1 instead of signal_failure. + + * syntax.c (scan_lists): Use xsignal3. + + * textprop.c (text_read_only): Use xsignal0, xsignal1. + + * unexsol.c (unexec): Use xsignal. + + * window.c (window_scroll_pixel_based, window_scroll_line_based): + Use xsignal0. + + * xfaces.c (signal_error): Move to eval.c. + (resolve_face_name): Use xsignal1. + + * xfns.c (x_decode_color): Use signal_error. + + * xselect.c (x_get_local_selection, copy_multiple_data) + (x_get_window_property_as_lisp_data) + (lisp_data_to_selection_data, CHECK_CUT_BUFFER) + (Fx_get_cut_buffer_internal): Use signal_error. + 2006-07-18 YAMAMOTO Mitsuharu * macterm.c (XTread_socket): Undo previous change. From ddb1546b12e13e451943c08435d6d067e92d828b Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 14:06:52 +0000 Subject: [PATCH 327/336] (Low-Level Network): Rename node "Make Network" to "Network Processes". --- lispref/processes.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lispref/processes.texi b/lispref/processes.texi index aa36e5f4a3a..cf4c3ab9784 100644 --- a/lispref/processes.texi +++ b/lispref/processes.texi @@ -1724,13 +1724,13 @@ level that that of @code{open-network-stream}, using @code{make-network-process}. @menu -* Make Network:: Using @code{make-network-process}. +* Network Processes:: Using @code{make-network-process}. * Network Options:: Further control over network connections. * Network Feature Testing:: Determining which network features work on the machine you are using. @end menu -@node Make Network +@node Network Processes @subsection @code{make-network-process} The basic function for creating network connections and network From b0c2455471bb46cb6152ea28cd337e7ead8b0029 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 18 Jul 2006 14:39:57 +0000 Subject: [PATCH 328/336] (minibuffer-local-map): Rebind TAB so it inserts a \t. --- lisp/bindings.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/bindings.el b/lisp/bindings.el index 722de30280d..5420badde90 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -674,7 +674,11 @@ language you are using." (define-key map [prior] 'previous-history-element) (define-key map [up] 'previous-history-element) (define-key map "\es" 'next-matching-history-element) - (define-key map "\er" 'previous-matching-history-element)) + (define-key map "\er" 'previous-matching-history-element) + ;; Override the global binding (which calls indent-relative via + ;; indent-for-tab-command). The alignment that indent-relative tries to + ;; do doesn't make much sense here since the prompt messes it up. + (define-key map "\t" 'self-insert-command)) (define-key global-map "\C-u" 'universal-argument) (let ((i ?0)) From f65b9df2d70ad1b7cb0a0a2167a9ba56c2c0e567 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 18 Jul 2006 14:40:29 +0000 Subject: [PATCH 329/336] (compilation-find-file): Handle the cases where the user selects a non-existent file. --- lisp/ChangeLog | 9 ++++++ lisp/progmodes/compile.el | 58 +++++++++++++++++++++++++-------------- 2 files changed, 46 insertions(+), 21 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ffeac9d760a..885ffca4f24 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2006-07-18 Stefan Monnier + + * progmodes/compile.el (compilation-find-file): Handle the + cases where the user selects a non-existent file. + +2006-07-18 Stefan Monnier + + * bindings.el (minibuffer-local-map): Rebind TAB so it inserts a \t. + 2006-07-17 Chong Yidong * subr.el (sit-for): Just sleep-for if noninteractive. diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 2e60594168a..525c462d4eb 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -1825,28 +1825,44 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user." (find-file-noselect name)) fmts (cdr fmts))) (setq dirs (cdr dirs))) - (or buffer - ;; The file doesn't exist. Ask the user where to find it. - (save-excursion ;This save-excursion is probably not right. - (let ((pop-up-windows t)) - (compilation-set-window (display-buffer (marker-buffer marker)) - marker) - (let ((name (expand-file-name - (read-file-name - (format "Find this %s in (default %s): " - compilation-error filename) - spec-dir filename t)))) - (if (file-directory-p name) - (setq name (expand-file-name filename name))) - (setq buffer (and (file-exists-p name) - (find-file-noselect name))))))) + (while (null buffer) ;Repeat until the user selects an existing file. + ;; The file doesn't exist. Ask the user where to find it. + (save-excursion ;This save-excursion is probably not right. + (let ((pop-up-windows t)) + (compilation-set-window (display-buffer (marker-buffer marker)) + marker) + (let* ((name (read-file-name + (format "Find this %s in (default %s): " + compilation-error filename) + spec-dir filename t nil + ;; Try to make sure the user can only select + ;; a valid answer. This predicate may be ignored, + ;; tho, so we still have to double-check afterwards. + ;; TODO: We should probably fix read-file-name so + ;; that it never ignores this predicate, even when + ;; using popup dialog boxes. + (lambda (name) + (if (file-directory-p name) + (setq name (expand-file-name filename name))) + (file-exists-p name)))) + (origname name)) + (cond + ((not (file-exists-p name)) + (message "Cannot find file `%s'" name) + (ding) (sit-for 2)) + ((and (file-directory-p name) + (not (file-exists-p + (setq name (expand-file-name filename name))))) + (message "No `%s' in directory %s" filename origname) + (ding) (sit-for 2)) + (t + (setq buffer (find-file-noselect name)))))))) ;; Make intangible overlays tangible. - ;; This is very weird: it's not even clear which is the current buffer, - ;; so the code below can't be expected to DTRT here. --Stef - (mapcar (function (lambda (ov) - (when (overlay-get ov 'intangible) - (overlay-put ov 'intangible nil)))) - (overlays-in (point-min) (point-max))) + ;; This is weird: it's not even clear which is the current buffer, + ;; so the code below can't be expected to DTRT here. -- Stef + (dolist (ov (overlays-in (point-min) (point-max))) + (when (overlay-get ov 'intangible) + (overlay-put ov 'intangible nil))) buffer)) (defun compilation-get-file-structure (file &optional fmt) From 532ddb4c191057fba31954782d299dc6a8436456 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 15:00:36 +0000 Subject: [PATCH 330/336] (Terminal Output): baud-rate only controls preemption on non-window systems. Add xref to Forcing Redisplay. --- lispref/os.texi | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lispref/os.texi b/lispref/os.texi index a402a339aee..2c19bae1392 100644 --- a/lispref/os.texi +++ b/lispref/os.texi @@ -1836,10 +1836,11 @@ tells you what Emacs thinks is the output speed of the terminal. This variable's value is the output speed of the terminal, as far as Emacs knows. Setting this variable does not change the speed of actual data transmission, but the value is used for calculations such as -padding. It also affects decisions about whether to scroll part of the -screen or repaint---even when using a window system. (We designed it -this way despite the fact that a window system has no true ``output -speed,'' to give you a way to tune these decisions.) +padding. + + It also affects decisions about whether to scroll part of the +screen or repaint on non-window systems. @xref{Forcing Redisplay}, +for the corresponding functionality on window systems. The value is measured in baud. @end defvar From b7a82118b20ce90995e5fa7c430cce9301207857 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 15:00:47 +0000 Subject: [PATCH 331/336] (Forcing Redisplay): redisplay-preemption-period only used on window systems. Add xref to Terminal Output. --- lispref/display.texi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lispref/display.texi b/lispref/display.texi index 8d91718e0cd..4e7ba81ed3b 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -103,8 +103,9 @@ processes the available input before trying again to redisplay. If this variable is @code{nil}, Emacs does not check for input during redisplay, and redisplay cannot be preempted by input. -@emph{Note} that this variable is only available if Emacs is built -with support for sub-second timers. +@emph{Note} that this variable is only used on window systems, +and is only available if Emacs is built with support for sub-second timers. +For other platforms; @xref{Terminal Output}. @end defvar @defvar redisplay-dont-pause From 2d545d838f41ca56d5329ad00a30c1f7603504f0 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 15:04:49 +0000 Subject: [PATCH 332/336] *** empty log message *** --- admin/FOR-RELEASE | 2 ++ lispref/ChangeLog | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 8343d9ba1f5..4ad5eb2cf12 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -39,6 +39,8 @@ and KDE projects, to use the new Emacs icons in etc/images/icons. '(hscroll-step 1) ) +** David Kastrup's report on strange scrolling of large images. + * DOCUMENTATION diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 7b6dbe9194b..97f5c1df75d 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,5 +1,11 @@ 2006-07-18 Kim F. Storm + * display.texi (Forcing Redisplay): redisplay-preemption-period + only used on window systems. Add xref to Terminal Output. + + * os.texi (Terminal Output): baud-rate only controls preemption on + non-window systems. Add xref to Forcing Redisplay. + * processes.texi (Low-Level Network): Rename node "Make Network" to "Network Processes". From 2381d38d0af85e3a97eb9f98c66a7259a2a3e1e1 Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Tue, 18 Jul 2006 16:33:45 +0000 Subject: [PATCH 333/336] * ebrowse.c (usage, version): Mark as NO_RETURN. * emacsclient.c (print_help_and_exit): Likewise. * xterm.c (x_connection_closed, x_error_quitter): Mark as NO_RETURN. * textprop.c (text_read_only): Likewise. * lread.c (end_of_file_error): Likewise. * lisp.h (circular_list_error, memory_full, buffer_memory_full): Likewise. * eval.c (unwind_to_catch): Likewise. * buffer.h (buffer_slot_type_mismatch): Likewise. --- lib-src/ChangeLog | 6 ++++++ lib-src/ebrowse.c | 2 ++ lib-src/emacsclient.c | 2 +- src/ChangeLog | 15 +++++++++++++++ src/buffer.h | 2 +- src/eval.c | 1 + src/lisp.h | 6 +++--- src/lread.c | 1 + src/textprop.c | 2 ++ src/xterm.c | 4 ++-- 10 files changed, 34 insertions(+), 7 deletions(-) diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index e792753b748..94687670725 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,9 @@ +2006-07-18 Dan Nicolaescu + + * ebrowse.c (usage, version): Mark as NO_RETURN. + + * emacsclient.c (print_help_and_exit): Likewise. + 2006-07-10 Francesco Potort,Al(B * etags.c (absolute_filename): Free unused space (cosmetic change). diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c index 398dd10896e..1880f1655ee 100644 --- a/lib-src/ebrowse.c +++ b/lib-src/ebrowse.c @@ -533,6 +533,8 @@ struct sym *parse_qualified_ident_or_type P_ ((char **)); void parse_qualified_param_ident_or_type P_ ((char **)); int globals P_ ((int)); void yyerror P_ ((char *, char *)); +void usage P_ ((int)) NO_RETURN; +void version P_ (()) NO_RETURN; diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index 46cb7ec2aea..b0bf50c2c78 100644 --- a/lib-src/emacsclient.c +++ b/lib-src/emacsclient.c @@ -67,7 +67,7 @@ const char * alternate_editor = NULL; /* If non-NULL, the filename of the UNIX socket. */ char *socket_name = NULL; -void print_help_and_exit (); +void print_help_and_exit () NO_RETURN; struct option longopts[] = { diff --git a/src/ChangeLog b/src/ChangeLog index 67d26d13f99..41b3f92a4c8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,18 @@ +2006-07-18 Dan Nicolaescu + + * xterm.c (x_connection_closed, x_error_quitter): Mark as NO_RETURN. + + * textprop.c (text_read_only): Likewise. + + * lread.c (end_of_file_error): Likewise. + + * lisp.h (circular_list_error, memory_full, buffer_memory_full): + Likewise. + + * eval.c (unwind_to_catch): Likewise. + + * buffer.h (buffer_slot_type_mismatch): Likewise. + 2006-07-18 Kim F. Storm Cleanup Fsignal calls that never returns; now only use it for Qquit. diff --git a/src/buffer.h b/src/buffer.h index 60aa3e7aaed..efe0252453a 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -833,7 +833,7 @@ extern void set_buffer_internal P_ ((struct buffer *)); extern void set_buffer_internal_1 P_ ((struct buffer *)); extern void set_buffer_temp P_ ((struct buffer *)); extern void record_buffer P_ ((Lisp_Object)); -extern void buffer_slot_type_mismatch P_ ((int)); +extern void buffer_slot_type_mismatch P_ ((int)) NO_RETURN; extern void fix_overlays_before P_ ((struct buffer *, EMACS_INT, EMACS_INT)); extern void mmap_set_vars P_ ((int)); diff --git a/src/eval.c b/src/eval.c index 37c245234fc..0d7a6a31038 100644 --- a/src/eval.c +++ b/src/eval.c @@ -198,6 +198,7 @@ Lisp_Object Vmacro_declaration_function; extern Lisp_Object Qrisky_local_variable; static Lisp_Object funcall_lambda P_ ((Lisp_Object, int, Lisp_Object*)); +static void unwind_to_catch P_ ((struct catchtag *, Lisp_Object)) NO_RETURN; void init_eval_once () diff --git a/src/lisp.h b/src/lisp.h index 8d9e2b7cfa4..d1ce953cd68 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -2174,7 +2174,7 @@ extern Lisp_Object Qnumberp, Qnumber_or_marker_p; extern Lisp_Object Qinteger; -extern void circular_list_error P_ ((Lisp_Object)); +extern void circular_list_error P_ ((Lisp_Object)) NO_RETURN; EXFUN (Finteractive_form, 1); /* Defined in frame.c */ @@ -2549,8 +2549,8 @@ extern void allocate_string_data P_ ((struct Lisp_String *, int, int)); extern void reset_malloc_hooks P_ ((void)); extern void uninterrupt_malloc P_ ((void)); extern void malloc_warning P_ ((char *)); -extern void memory_full P_ ((void)); -extern void buffer_memory_full P_ ((void)); +extern void memory_full P_ ((void)) NO_RETURN; +extern void buffer_memory_full P_ ((void)) NO_RETURN; extern int survives_gc_p P_ ((Lisp_Object)); extern void mark_object P_ ((Lisp_Object)); extern Lisp_Object Vpurify_flag; diff --git a/src/lread.c b/src/lread.c index c407b5947d9..88a70f691c3 100644 --- a/src/lread.c +++ b/src/lread.c @@ -215,6 +215,7 @@ static Lisp_Object load_unwind P_ ((Lisp_Object)); static Lisp_Object load_descriptor_unwind P_ ((Lisp_Object)); static void invalid_syntax P_ ((const char *, int)) NO_RETURN; +static void end_of_file_error P_ (()) NO_RETURN; /* Handle unreading and rereading of characters. diff --git a/src/textprop.c b/src/textprop.c index b89d73a7ef9..fd70f039d22 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -78,6 +78,8 @@ Lisp_Object Vtext_property_default_nonsticky; Lisp_Object interval_insert_behind_hooks; Lisp_Object interval_insert_in_front_hooks; +static void text_read_only P_ ((Lisp_Object)) NO_RETURN; + /* Signal a `text-read-only' error. This function makes it easier to capture that error in GDB by putting a breakpoint on it. */ diff --git a/src/xterm.c b/src/xterm.c index 0b16a37a62c..5e4eeb3bb64 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -358,7 +358,7 @@ static void x_check_expected_move P_ ((struct frame *, int, int)); static void x_sync_with_move P_ ((struct frame *, int, int, int)); static int handle_one_xevent P_ ((struct x_display_info *, XEvent *, int *, struct input_event *)); -static SIGTYPE x_connection_closed P_ ((Display *, char *)); +static SIGTYPE x_connection_closed P_ ((Display *, char *)) NO_RETURN; /* Flush display of frame F, or of all frames if F is null. */ @@ -7771,7 +7771,7 @@ x_connection_closed (dpy, error_message) /* We specifically use it before defining it, so that gcc doesn't inline it, otherwise gdb doesn't know how to properly put a breakpoint on it. */ -static void x_error_quitter (Display *display, XErrorEvent *error); +static void x_error_quitter P_ ((Display *, XErrorEvent *)) NO_RETURN; /* This is the first-level handler for X protocol errors. It calls x_error_quitter or x_error_catcher. */ From c6b71045505c0a3b941f75f2ae481a463f8b86c3 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 18 Jul 2006 21:03:59 +0000 Subject: [PATCH 334/336] (sh-font-lock-keywords-1): Revert inadvertently installed patch hunk. --- lisp/ChangeLog | 3 +++ lisp/progmodes/sh-script.el | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 885ffca4f24..079e012d15f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2006-07-18 Stefan Monnier + * progmodes/sh-script.el (sh-font-lock-keywords-1): + Revert inadvertently installed patch hunk. + * progmodes/compile.el (compilation-find-file): Handle the cases where the user selects a non-existent file. diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 48b34a99311..d69229780b6 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -1561,7 +1561,7 @@ This adds rules for comments and assignments." (regexp-opt (sh-feature sh-builtins) t) "\\>") (2 font-lock-keyword-face nil t) - (4 font-lock-builtin-face)) + (6 font-lock-builtin-face)) ,@(sh-feature sh-font-lock-keywords-var-2))) (,(concat keywords "\\)\\>") 2 font-lock-keyword-face) From eeeda6f14d4182d349c185208f3fb3c089f9d67d Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 23:03:17 +0000 Subject: [PATCH 335/336] *** empty log message *** --- src/ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 41b3f92a4c8..70d8f0b9548 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2006-07-18 Francis Litterio + + * w32term.c (x_calc_absolute_position): Fix frame positioning + with negative X/Y coordinates. + 2006-07-18 Dan Nicolaescu * xterm.c (x_connection_closed, x_error_quitter): Mark as NO_RETURN. From 83676aa2e399363120942ef5ea19f8af6b75e8e8 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 18 Jul 2006 23:04:12 +0000 Subject: [PATCH 336/336] (x_calc_absolute_position): Fix frame positioning with negative X/Y coordinates. From Francis Litterio --- src/w32term.c | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/src/w32term.c b/src/w32term.c index 29fe961946d..294059aa77b 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -5312,20 +5312,52 @@ x_calc_absolute_position (f) { int flags = f->size_hint_flags; - /* Treat negative positions as relative to the leftmost bottommost + /* The sum of the widths of the frame's left and right borders, and + the sum of the heights of the frame's top and bottom borders (in + pixels) drawn by Windows. */ + unsigned int left_right_borders_width, top_bottom_borders_height; + + /* Try to get the actual values of these two variables. We compute + the border width (height) by subtracting the width (height) of + the frame's client area from the width (height) of the frame's + entire window. */ + WINDOWPLACEMENT wp = { 0 }; + RECT client_rect = { 0 }; + + if (GetWindowPlacement (FRAME_W32_WINDOW (f), &wp) + && GetClientRect (FRAME_W32_WINDOW (f), &client_rect)) + { + left_right_borders_width = + (wp.rcNormalPosition.right - wp.rcNormalPosition.left) - + (client_rect.right - client_rect.left); + + top_bottom_borders_height = + (wp.rcNormalPosition.bottom - wp.rcNormalPosition.top) - + (client_rect.bottom - client_rect.top); + } + else + { + /* Use sensible default values. */ + left_right_borders_width = 8; + top_bottom_borders_height = 32; + } + + /* Treat negative positions as relative to the rightmost bottommost position that fits on the screen. */ if (flags & XNegative) f->left_pos = (FRAME_W32_DISPLAY_INFO (f)->width - FRAME_PIXEL_WIDTH (f) - + f->left_pos); + + f->left_pos + - (left_right_borders_width - 1)); if (flags & YNegative) f->top_pos = (FRAME_W32_DISPLAY_INFO (f)->height - FRAME_PIXEL_HEIGHT (f) - + f->top_pos); - /* The left_pos and top_pos - are now relative to the top and left screen edges, - so the flags should correspond. */ + + f->top_pos + - (top_bottom_borders_height - 1)); + + /* The left_pos and top_pos are now relative to the top and left + screen edges, so the flags should correspond. */ f->size_hint_flags &= ~ (XNegative | YNegative); }