changeset 83073:ced0b1beba09

Merged in changes from CVS HEAD Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-138 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-139 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-140 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-113
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 08 Mar 2004 13:39:35 +0000
parents b1f57ac99be5 (current diff) 2d065d2b1e20 (diff)
children 34a7a8f40548
files ChangeLog lisp/ChangeLog
diffstat 12 files changed, 84 insertions(+), 56 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Mar 07 15:30:22 2004 +0000
+++ b/ChangeLog	Mon Mar 08 13:39:35 2004 +0000
@@ -1,7 +1,7 @@
 2004-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* Makefile.in (maintainer-clean): Clean in the lisp dir as well.
-	(bootstrap): Use the new boostrap-prepare target in lisp.
+	(bootstrap): Use the new bootstrap-prepare target in lisp.
 
 2004-02-18  Kim F. Storm  <storm@cua.dk>
 
--- a/lisp/ChangeLog	Sun Mar 07 15:30:22 2004 +0000
+++ b/lisp/ChangeLog	Mon Mar 08 13:39:35 2004 +0000
@@ -1,3 +1,34 @@
+2004-03-07  Dave Love  <fx@gnu.org>
+
+	* net/browse-url.el (rfc2368-parse-mailto-url): Autoload.
+	(browse-url-mail): Use it.
+
+	* mail/rfc2368.el (rfc2368-unhexify-char): Deleted.
+	(rfc2368-unhexify-string): Use replace-regexp-in-string.
+
+2004-03-07  Francis J. Wright  <F.J.Wright@qmul.ac.uk>
+
+	* woman.el (woman-man.conf-path): Doc fix.
+	(woman-parse-man.conf): Also parse OPTIONAL_MANPATH.
+
+2004-03-07  Eli Zaretskii  <eliz@elta.co.il>
+
+	* sort.el (sort-columns): Remove ms-dos from the list of systems
+	where the external `sort' command is not used.
+
+2004-03-07  Kim F. Storm  <storm@cua.dk>
+
+	* gdb-ui.el (gdb-overlay-arrow-position): Add defvar.
+	(gdb-reset): Reset gdb-overlay-arrow-position marker and remove it
+	from overlay-arrow-variable-list.
+	(gdb-assembler-mode): Use add-to-list for
+	gdb-overlay-arrow-position.
+
+2004-03-06  Nick Roberts  <nick@nick.uklinux.net>
+
+	* gdb-ui.el (gdb-assembler-mode, gdb-assembler-custom): Set up
+	overlay arrow string properly for the assembler buffer.
+
 2004-03-05  Nick Roberts  <nick@nick.uklinux.net>
 
 	* gdb-ui.el (gdb-assembler-mode): Create a second overlay arrow
--- a/lisp/gdb-ui.el	Sun Mar 07 15:30:22 2004 +0000
+++ b/lisp/gdb-ui.el	Mon Mar 08 13:39:35 2004 +0000
@@ -59,6 +59,7 @@
 (defvar gdb-var-list nil "List of variables in watch window")
 (defvar gdb-var-changed nil "Non-nil means that gdb-var-list has changed.")
 (defvar gdb-buffer-type nil)
+(defvar gdb-overlay-arrow-position nil)
 (defvar gdb-variables '()
   "A list of variables that are local to the GUD buffer.")
 
@@ -1682,7 +1683,12 @@
 		(gdb-remove-breakpoint-icons (point-min) (point-max) t)
 		(setq gud-minor-mode nil)
 		(kill-local-variable 'tool-bar-map)
-		(setq gud-running nil)))))))
+		(setq gud-running nil))))))
+  (when (markerp gdb-overlay-arrow-position)
+    (move-marker gdb-overlay-arrow-position nil)
+    (setq gdb-overlay-arrow-position nil))
+  (setq overlay-arrow-variable-list
+	(delq 'gdb-overlay-arrow-position overlay-arrow-variable-list)))
 
 (defun gdb-source-info ()
   "Find the source file where the program starts and displays it with related
@@ -1831,7 +1837,6 @@
 	    (if (re-search-forward gdb-current-address nil t)
 		(progn
 		  (setq pos (point))
-		  (setq gdb-overlay-arrow-string "=>")
 		  (beginning-of-line)
 		  (or gdb-overlay-arrow-position
 		      (setq gdb-overlay-arrow-position (make-marker)))
@@ -1870,8 +1875,9 @@
 \\{gdb-assembler-mode-map}"
   (setq major-mode 'gdb-assembler-mode)
   (setq mode-name "Machine")
-  (push 'gdb-overlay-arrow-position overlay-arrow-variable-list)
   (setq gdb-overlay-arrow-position nil)
+  (add-to-list 'overlay-arrow-variable-list 'gdb-overlay-arrow-position)
+  (put 'gdb-overlay-arrow-position 'overlay-arrow-string "=>")
   (setq fringes-outside-margins t)
   (setq buffer-read-only t)
   (use-local-map gdb-assembler-mode-map)
--- a/lisp/international/utf-8.el	Sun Mar 07 15:30:22 2004 +0000
+++ b/lisp/international/utf-8.el	Mon Mar 08 13:39:35 2004 +0000
@@ -53,7 +53,7 @@
 ;; used to support encoding and decoding of about a quarter of the CJK
 ;; space between U+3400 and U+DFFF.
 
-;; UTF-8 is defined in RFC 2279.  A sketch of the encoding is:
+;; UTF-8 is defined in RFC 3629.  A sketch of the encoding is:
 
 ;;        scalar       |               utf-8
 ;;        value        | 1st byte  | 2nd byte  | 3rd byte
--- a/lisp/mail/rfc2368.el	Sun Mar 07 15:30:22 2004 +0000
+++ b/lisp/mail/rfc2368.el	Mon Mar 08 13:39:35 2004 +0000
@@ -76,39 +76,13 @@
 (defconst rfc2368-mailto-query-index 4
   "Describes the portion of the url after '?'.")
 
-;; for dealing w/ unhexifying strings, my preferred approach is to use
-;; a 'string-replace-match-using-function' which can perform a
-;; string-replace-match and compute the replacement text based on a
-;; passed function -- however, emacs doesn't seem to have such a
-;; function yet :-(
-
-;; for the moment a rip-off of url-unhex (w3/url.el)
-(defun rfc2368-unhexify-char (char)
-  "Unhexify CHAR -- e.g. %20 -> <SPC>."
-  (if (> char ?9)
-      (if (>= char ?a)
-	  (+ 10 (- char ?a))
-	(+ 10 (- char ?A)))
-    (- char ?0)))
-
-;; for the moment a rip-off of url-unhex-string (w3/url.el) (slightly modified)
 (defun rfc2368-unhexify-string (string)
   "Unhexify STRING -- e.g. 'hello%20there' -> 'hello there'."
-  (let ((case-fold-search t)
-	(result ""))
-    (while (string-match "%[0-9a-f][0-9a-f]" string)
-      (let* ((start (match-beginning 0))
-	     (hex-code (+ (* 16
-			     (rfc2368-unhexify-char (elt string (+ start 1))))
-			  (rfc2368-unhexify-char (elt string (+ start 2))))))
-	(setq result (concat
-		      result (substring string 0 start)
-		      (char-to-string hex-code))
-	      string (substring string (match-end 0)))))
-    ;; it seems clearer to do things this way than to just return:
-    ;; (concat result string)
-    (setq result (concat result string))
-    result))
+  (replace-regexp-in-string "%[[:xdigit:]]\\{2\\}"
+			    (lambda (match)
+			      (string (string-to-number (substring match 1)
+							16)))
+			    string t t))
 
 (defun rfc2368-parse-mailto-url (mailto-url)
   "Parse MAILTO-URL, and return an alist of header-name, header-value pairs.
--- a/lisp/mail/rmail.el	Sun Mar 07 15:30:22 2004 +0000
+++ b/lisp/mail/rmail.el	Mon Mar 08 13:39:35 2004 +0000
@@ -1881,7 +1881,6 @@
 		     (save-excursion
 		       (unless
 			   (mail-unquote-printable-region header-end (point) nil t t)
-			 
 			 (message "Malformed MIME quoted-printable message"))
 		       ;; Change "quoted-printable" to "8bit",
 		       ;; to reflect the decoding we just did.
--- a/lisp/net/browse-url.el	Sun Mar 07 15:30:22 2004 +0000
+++ b/lisp/net/browse-url.el	Mon Mar 08 13:39:35 2004 +0000
@@ -1301,9 +1301,11 @@
 
 ;; --- mailto ---
 
+(autoload 'rfc2368-parse-mailto-url "rfc2368")
+
 ;;;###autoload
 (defun browse-url-mail (url &optional new-window)
-  "Open a new mail message buffer within Emacs.
+  "Open a new mail message buffer within Emacs for the RFC 2368 URL.
 Default to using the mailto: URL around or before point as the
 recipient's address.  Supplying a non-nil interactive prefix argument
 will cause the mail to be composed in another window rather than the
@@ -1318,14 +1320,24 @@
 used instead of `browse-url-new-window-flag'."
   (interactive (browse-url-interactive-arg "Mailto URL: "))
   (save-excursion
-    (let ((to (if (string-match "^mailto:" url)
-		  (substring url 7)
-		url)))
+    (let* ((alist (rfc2368-parse-mailto-url url))
+	   (to (assoc "To" alist))
+	   (subject (assoc "Subject" alist))
+	   (body (assoc "Body" alist))
+	   (rest (delete to (delete subject (delete body alist))))
+	   (to (cdr to))
+	   (subject (cdr subject))
+	   (body (cdr body))
+	   (mail-citation-hook (unless body mail-citation-hook)))
       (if (browse-url-maybe-new-window new-window)
-	  (compose-mail-other-window to nil nil nil
-				     (list 'insert-buffer (current-buffer)))
-	(compose-mail to nil nil nil nil
-		      (list 'insert-buffer (current-buffer)))))))
+	  (compose-mail-other-window to subject rest nil
+				     (if body
+					 (list 'insert body)
+				       (list 'insert-buffer (current-buffer))))
+	(compose-mail to subject rest nil nil
+		      (if body
+			  (list 'insert body)
+			(list 'insert-buffer (current-buffer))))))))
 
 ;; --- Random browser ---
 
--- a/lisp/sort.el	Sun Mar 07 15:30:22 2004 +0000
+++ b/lisp/sort.el	Mon Mar 08 13:39:35 2004 +0000
@@ -480,7 +480,7 @@
       (setq col-end (max col-beg1 col-end1))
       (if (search-backward "\t" beg1 t)
 	  (error "sort-columns does not work with tabs -- use M-x untabify"))
-      (if (not (or (memq system-type '(vax-vms windows-nt ms-dos))
+      (if (not (or (memq system-type '(vax-vms windows-nt))
 		   (let ((pos beg1) plist fontified)
 		     (catch 'found
 		       (while (< pos end1)
--- a/lisp/woman.el	Sun Mar 07 15:30:22 2004 +0000
+++ b/lisp/woman.el	Mon Mar 08 13:39:35 2004 +0000
@@ -539,9 +539,9 @@
 	(mapcar 'woman-Cyg-to-Win path)
       path))
   "*List of dirs to search and/or files to try for man config file.
-A trailing separator (`/' for UNIX etc.) on directories is optional
-and the filename used if a directory is specified is the first to
-match the regexp \"man.*\\.conf\".
+A trailing separator (`/' for UNIX etc.) on directories is optional,
+and the filename is used if a directory specified is the first to
+contain the strings \"man\" and \".conf\" (in that order).
 If MANPATH is not set but a config file is found then it is parsed
 instead to provide a default value for `woman-manpath'."
   :type '(repeat string)
@@ -554,7 +554,9 @@
 Concatenate data from all lines in the config file of the form
   MANPATH  /usr/man
 or
-  MANDATORY_MANPATH  /usr/man"
+  MANDATORY_MANPATH  /usr/man
+or
+  OPTIONAL_MANPATH  /usr/man"
   ;; Functionality suggested by Charles Curley.
   (let ((path woman-man.conf-path)
 	file manpath)
@@ -574,7 +576,7 @@
 		    (while (re-search-forward
 			    ;; `\(?: ... \)' is a "shy group"
 			    "\
-^[ \t]*\\(?:MANDATORY_\\)?MANPATH[ \t]+\\(\\S-+\\)" nil t)
+^[ \t]*\\(?:MANDATORY_\\|OPTIONAL_\\)?MANPATH[ \t]+\\(\\S-+\\)" nil t)
 		      (setq manpath (cons (match-string 1) manpath)))
 		    manpath))
 		 ))
--- a/lispref/ChangeLog	Sun Mar 07 15:30:22 2004 +0000
+++ b/lispref/ChangeLog	Mon Mar 08 13:39:35 2004 +0000
@@ -1,3 +1,7 @@
+2004-03-07  Thien-Thi Nguyen  <ttn@gnu.org>
+
+	* customize.texi: Fix typo. Remove eol whitespace.
+
 2004-03-04  Richard M. Stallman  <rms@gnu.org>
 
 	* processes.texi: Fix typos.
--- a/lispref/customize.texi	Sun Mar 07 15:30:22 2004 +0000
+++ b/lispref/customize.texi	Mon Mar 08 13:39:35 2004 +0000
@@ -585,7 +585,7 @@
 
 @item color
 The value must be a valid color name, and you can do completion with
-@kbd{M-@key{TAB}}.  A sample is provided,
+@kbd{M-@key{TAB}}.  A sample is provided.
 @end table
 
 @node Composite Types
@@ -1083,7 +1083,7 @@
   :tag "Node"
   :type '(choice (string :tag "Leaf" :value "")
                  (cons :tag "Interior"
-                       :value ("" . "") 
+                       :value ("" . "")
                        binary-tree-of-string
                        binary-tree-of-string)))
 
@@ -1102,7 +1102,7 @@
 @code{defcustom} with the same name.  The third argument is a
 documentation string for the new widget.  You will be able to see that
 string with the @kbd{M-x widget-browse @key{ret} binary-tree-of-string
-@key{ret}} command.  
+@key{ret}} command.
 
 After these mandatory arguments follows the keyword arguments.  The most
 important is @code{:type}, which describes the datatype we want to match
@@ -1116,7 +1116,7 @@
 structure apparent in the customization buffer.
 
 The @code{defcustom} shows how the new widget can be used as an ordinary
-customization type. 
+customization type.
 
 If you wonder about the name @code{lazy}, know that the other composite
 widgets convert their inferior widgets to internal form when the widget
--- a/src/coding.c	Sun Mar 07 15:30:22 2004 +0000
+++ b/src/coding.c	Mon Mar 08 13:39:35 2004 +0000
@@ -4029,7 +4029,7 @@
    o coding-category-utf-8
 
 	The category for a coding system which has the same code range
-	as UTF-8 (cf. RFC2279).  Assigned the coding-system (Lisp
+	as UTF-8 (cf. RFC3629).  Assigned the coding-system (Lisp
 	symbol) `utf-8' by default.
 
    o coding-category-utf-16-be