emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r103524: Add package name. Fix author


From: Michael Albinus
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r103524: Add package name. Fix author email address.
Date: Sat, 05 Mar 2011 11:32:10 +0100
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 103524
committer: Michael Albinus <address@hidden>
branch nick: trunk
timestamp: Sat 2011-03-05 11:32:10 +0100
message:
  Add package name. Fix author email address.
  
  * net/soap-client.el (soap-namespace-put-link): Check if the target
  name is fully qualified -- use only the name part.
  (soap-parse-complex-type, soap-parse-sequence): Recognize xsd:all
  types, treated the same as xsd:sequence.  (Bug#8166)
modified:
  lisp/ChangeLog
  lisp/net/soap-client.el
  lisp/net/soap-inspect.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-03-05 08:48:52 +0000
+++ b/lisp/ChangeLog    2011-03-05 10:32:10 +0000
@@ -1,3 +1,10 @@
+2011-03-05  Alex Harsanyi  <address@hidden>
+
+       * net/soap-client.el (soap-namespace-put-link): Check if the target
+       name is fully qualified -- use only the name part.
+       (soap-parse-complex-type, soap-parse-sequence): Recognize xsd:all
+       types, treated the same as xsd:sequence.  (Bug#8166)
+
 2011-03-05  Eli Zaretskii  <address@hidden>
 
        * files.el (find-file-noselect): Don't ask about re-visiting

=== modified file 'lisp/net/soap-client.el'
--- a/lisp/net/soap-client.el   2011-02-17 04:41:29 +0000
+++ b/lisp/net/soap-client.el   2011-03-05 10:32:10 +0000
@@ -2,9 +2,10 @@
 
 ;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
 
-;; Author: Alexandru Harsanyi (address@hidden)
+;; Author: Alexandru Harsanyi <address@hidden>
 ;; Created: December, 2009
 ;; Keywords: soap, web-services, comm, hypermedia
+;; Package: soap-client
 ;; Homepage: http://code.google.com/p/emacs-soap-client
 
 ;; This file is part of GNU Emacs.
@@ -323,13 +324,18 @@
     ;; if name is nil, use TARGET as a name...
     (cond ((soap-element-p target)
            (setq name (soap-element-name target)))
+          ((consp target)               ; a fq name: (namespace . name)
+           (setq name (cdr target)))
           ((stringp target)
            (cond ((string-match "^\\(.*\\):\\(.*\\)$" target)
                   (setq name (match-string 2 target)))
                  (t
                   (setq name target))))))
 
-  (assert name)                         ; by now, name should be valid
+  ;; by now, name should be valid
+  (assert (and name (not (equal name "")))
+          nil
+          "Cannot determine name for namespace link")
   (push (make-soap-namespace-link :name name :target target)
         (gethash name (soap-namespace-elements ns))))
 
@@ -890,7 +896,11 @@
       (when (consp c)               ; skip string nodes, which are whitespace
         (let ((node-name (soap-l2wk (xml-node-name c))))
           (cond
-            ((eq node-name 'xsd:sequence)
+            ;; The difference between xsd:all and xsd:sequence is that fields
+            ;; in xsd:all are not ordered and they can occur only once.  We
+            ;; don't care about that difference in soap-client.el
+            ((or (eq node-name 'xsd:sequence)
+                 (eq node-name 'xsd:all))
              (setq type (soap-parse-complex-type-sequence c)))
             ((eq node-name 'xsd:complexContent)
              (setq type (soap-parse-complex-type-complex-content c)))
@@ -909,9 +919,10 @@
 of its children is assumed to be a sequence element.  Each
 sequence element is parsed constructing the corresponding type.
 A list of these types is returned."
-  (assert (eq (soap-l2wk (xml-node-name node)) 'xsd:sequence)
+  (assert (let ((n (soap-l2wk (xml-node-name node))))
+            (memq n '(xsd:sequence xsd:all)))
           nil
-          "soap-parse-sequence: expecting xsd:sequence node, got %s"
+          "soap-parse-sequence: expecting xsd:sequence or xsd:all node, got %s"
           (soap-l2wk (xml-node-name node)))
   (let (elements)
     (dolist (e (soap-xml-get-children1 node 'xsd:element))

=== modified file 'lisp/net/soap-inspect.el'
--- a/lisp/net/soap-inspect.el  2011-02-17 04:41:29 +0000
+++ b/lisp/net/soap-inspect.el  2011-03-05 10:32:10 +0000
@@ -2,9 +2,10 @@
 
 ;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
 
-;; Author: Alexandru Harsanyi (address@hidden)
+;; Author: Alexandru Harsanyi <address@hidden>
 ;; Created: October 2010
 ;; Keywords: soap, web-services, comm, hypermedia
+;; Package: soap-client
 ;; Homepage: http://code.google.com/p/emacs-soap-client
 
 ;; This file is part of GNU Emacs.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]