view etc/schema/xhtml-bform.rnc @ 109678:14830418f9fc

Change `select-active-region' mechanics. Save region text prior to buffer modification. Set window selection lazily, during `deactivate-mark' or after each command when the region is temporarily active. * lisp/cus-start.el: Add custom declaration for select-active-regions. * lisp/mouse.el (mouse-drag-track): Remove hacks to deal with old select-active-regions implementation. (mouse-yank-at-click): Doc fix. * lisp/simple.el (select-active-regions): Move to keyboard.c. (deactivate-mark): Used saved-region-selection. (select-active-region): Function removed. (activate-mark, set-mark, push-mark-command) (handle-shift-selection): Don't call it. (keyboard-quit): Avoid adding the region to the window selection. * src/insdel.c (prepare_to_modify_buffer): Save active region text to Vsaved_region_selection. * src/keyboard.c (Vselect_active_regions): Move from simple.el. (Vsaved_region_selection, Qx_set_selection, QPRIMARY, Qlazy): New vars. (command_loop_1): Set window selection prior to deactivating the mark. * src/xselect.c (QPRIMARY): Move to keyboard.c.
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 07 Aug 2010 15:39:04 -0400
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