view etc/schema/xhtml-bform.rnc @ 105601:68686d39c93a

Replace completion-base-size by completion-base-position to fix bugs such as (bug#4699). * simple.el (completion-base-position): New var. (completion-base-size): Mark as obsolete. (choose-completion): Make it work for mouse events as well. Pass the new base-position to choose-completion-string. (choose-completion-guess-base-position): New function, extracted from choose-completion-delete-max-match. (choose-completion-delete-max-match): Use it. Make obsolete. (choose-completion-string): Use the new base-position info. (completion-root-regexp): Delete. (completion-setup-function): Preserve completion-base-position. Eliminate obsolete base-size manipulation. * minibuffer.el (display-completion-list): Don't mess with base-size. (minibuffer-completion-help): Set completion-base-position instead. * mouse.el (mouse-choose-completion): Redefine as a mere alias to choose-completion. * textmodes/bibtex.el (bibtex-complete): * emacs-lisp/crm.el (crm--choose-completion-string): Adjust to new calling convention. * complete.el (partial-completion-mode): Use minibufferp to avoid bumping into incompatible change to choose-completion-string-functions. * ido.el (ido-choose-completion-string): Make its calling convention more permissive. * comint.el (comint-dynamic-list-input-ring-select): Remove obsolete base-size manipulation. (comint-dynamic-list-input-ring): Use dotimes and push. * iswitchb.el (iswitchb-completion-help): Remove dead-code call to fundamental-mode. Use `or'.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 15 Oct 2009 01:50:17 +0000
parents 9e48c9dc543f
children
line wrap: on
line source

# Simplified Forms Module

form =
  element form {
    form.attlist,
    # Don't use Block.model, because this gets redefined by the
    # legacy module.
    Block.class+
  }
form.attlist =
  Common.attrib,
  attribute action { URI.datatype },
  attribute method { "get" | "post" }?,
  attribute enctype { ContentType.datatype }?
label = element label { label.attlist, Inline.model }
label.attlist =
  Common.attrib,
  attribute for { IDREF.datatype }?,
  attribute accesskey { Character.datatype }?
input = element input { input.attlist }
input.attlist =
  Common.attrib,
  attribute type { InputType.class }?,
  attribute name { text }?,
  attribute value { text }?,
  attribute checked { "checked" }?,
  attribute size { text }?,
  attribute maxlength { Number.datatype }?,
  attribute src { URI.datatype }?,
  attribute accesskey { Character.datatype }?
InputType.class =
  "text"
  | "password"
  | "checkbox"
  | "radio"
  | "submit"
  | "reset"
  | "hidden"
select = element select { select.attlist, option+ }
select.attlist =
  Common.attrib,
  attribute name { text }?,
  attribute size { Number.datatype }?,
  attribute multiple { "multiple" }?
option =
  element option {
    Common.attrib,
    attribute selected { "selected" }?,
    attribute value { text }?,
    text
  }
textarea = element textarea { textarea.attlist }
textarea.attlist =
  Common.attrib,
  attribute name { text }?,
  attribute rows { Number.datatype },
  attribute cols { Number.datatype },
  attribute accesskey { Character.datatype }?,
  text
Form.class = form
Formctrl.class = input | label | select | textarea
Block.class |= Form.class
Inline.class |= Formctrl.class