emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/textmodes/xml-lite.el


From: Mike Williams
Subject: [Emacs-diffs] Changes to emacs/lisp/textmodes/xml-lite.el
Date: Mon, 01 Apr 2002 06:00:33 -0500

Index: emacs/lisp/textmodes/xml-lite.el
diff -c emacs/lisp/textmodes/xml-lite.el:1.8 
emacs/lisp/textmodes/xml-lite.el:1.9
*** emacs/lisp/textmodes/xml-lite.el:1.8        Fri Mar 29 17:16:38 2002
--- emacs/lisp/textmodes/xml-lite.el    Mon Apr  1 06:00:33 2002
***************
*** 43,91 ****
  (require 'sgml-mode)
  
  
- ;; Variables
- 
- (defgroup xml-lite nil
-   "Customizable variables for XML-Lite mode."
-   :group 'languages
-   )
- 
- (defcustom xml-lite-basic-offset 2
-   "*Specifies the basic indentation level for `xml-lite-indent-line'."
-   :type 'integer
-   :group 'xml-lite
-   )
- 
- (defcustom xml-lite-electric-slash 'close
-   "*If non-nil, inserting a '/' after a '<' behaves electrically.
- If set to `indent', typing '</' just triggers reindentation.
- If set to `close', typing '</' inserts an end-tag for the
- enclosing XML element."
-   :type '(choice (const :tag "Indent" indent)
- 
-                  (const :tag "Close" close)
-                  (const :tag "No" nil))
- 
-   :group 'xml-lite
-   )
- 
- (defcustom xml-lite-mode-line-string " XML"
-   "*String to display in the modeline when `xml-lite-mode' is active.
- Set this to nil if you don't want a modeline indicator for xml-lite-mode."
-   :type 'string
-   :group 'xml-lite)
- 
- (defcustom xml-lite-mode-hook nil
-   "*Hook called by `xml-lite-mode'."
-   :type 'hook
-   :group 'xml-lite)
- 
- ;;;###autoload
- (defvar xml-lite-mode nil
-   "Non-nil if `xml-lite-mode' is enabled.")
- (make-variable-buffer-local 'xml-lite-mode)
- 
- 
  ;; Syntax analysis
  
  (defsubst xml-lite-at-indentation-p ()
--- 43,48 ----
***************
*** 94,108 ****
      (skip-chars-backward " \t")
      (bolp)))
  
- (defun xml-lite-in-string-p (&optional limit)
-   "Determine whether point is inside a string.  If it is, return the
- position of the character starting the string, else return nil.
- 
- Parse begins from LIMIT, which defaults to the preceding occurence of a tag
- at the beginning of a line."
-   (let ((context (sgml-lexical-context limit)))
-     (if (eq (car context) 'string) (cdr context))))
- 
  
  ;; Parsing
  (defstruct (xml-lite-tag
--- 51,56 ----
***************
*** 222,228 ****
      ;;   enclosing start-tags we'll have to ignore.
      (skip-chars-backward " \t\n")      ; Make sure we're not at indentation.
      (while
!       (and (or ignore (not (if full (eq full 'empty) context))
                 (not (xml-lite-at-indentation-p))
                 (and (not sgml-xml-mode) context
                      (/= (point) (xml-lite-tag-start (car context)))
--- 170,177 ----
      ;;   enclosing start-tags we'll have to ignore.
      (skip-chars-backward " \t\n")      ; Make sure we're not at indentation.
      (while
!       (and (or ignore 
!                  (not (if full (eq full 'empty) context))
                 (not (xml-lite-at-indentation-p))
                 (and (not sgml-xml-mode) context
                      (/= (point) (xml-lite-tag-start (car context)))
***************
*** 233,241 ****
        ;; This tag may enclose things we thought were tags.  If so,
        ;; discard them.
        (while (and context
!                 (> (xml-lite-tag-end tag-info)
!                    (xml-lite-tag-end (car context))))
!       (setq context (cdr context)))
             
        (cond
  
--- 182,190 ----
        ;; This tag may enclose things we thought were tags.  If so,
        ;; discard them.
        (while (and context
!                   (> (xml-lite-tag-end tag-info)
!                      (xml-lite-tag-end (car context))))
!         (setq context (cdr context)))
             
        (cond
  
***************
*** 289,297 ****
      (pp (save-excursion (xml-lite-get-context full)))))
  
  
- ;; Indenting
- 
- 
  ;; Editing shortcuts
  
  (defun xml-lite-insert-end-tag ()
--- 238,243 ----
***************
*** 339,381 ****
      (xml-lite-insert-end-tag))
     (t
      (insert-char ?/ arg))))
- 
- 
- ;; Keymap
- 
- (defvar xml-lite-mode-map
-   (let ((map (make-sparse-keymap)))
-     (define-key map "\C-c/" 'xml-lite-insert-end-tag)
-     (define-key map "\C-c\C-s" 'xml-lite-show-context)
-     (define-key map "/" 'xml-lite-slash)
-     map)
-   "Key bindings for `xml-lite-mode'.")
- 
- 
- ;; Minor mode
- 
- ;;;###autoload
- (define-minor-mode xml-lite-mode
-   "Toggle `xml-lite-mode'.
- With ARG, enable xml-lite-mode if and only if ARG is positive.
- 
- xml-lite-mode provides indentation for XML tags.  The value of
- `xml-lite-basic-offset' determines the amount of indentation.
- 
- Key bindings:
- \\{xml-lite-mode-map}"
-   nil                                   ; initial value
-   " XML"                                ; mode indicator
-   'xml-lite-mode-map                    ; keymap
-   (if xml-lite-mode
-       (progn
-         (if (eq major-mode 'fundamental-mode) (sgml-mode))
-       (set (make-local-variable 'sgml-xml-mode) t)
-         (set (make-local-variable 'xml-lite-orig-indent-line-function)
-            indent-line-function)
-       (set (make-local-variable 'indent-line-function) 'sgml-indent-line))
-     (kill-local-variable 'sgml-xml-mode)
-     (setq indent-line-function xml-lite-orig-indent-line-function)))
  
  (provide 'xml-lite)
  
--- 285,290 ----



reply via email to

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