Subject: Documentation: "till" vs "until" in docstrings
From: MON KEY <[email-masked]>
To: [email-masked]
Date: Wed, 18 Aug 2010 00:10:02 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

A "till" is:

 up to the time of         <- prepositive
 before                    <- conjunctive
 glacier dirt              <- noun
 a money box               <- noun
 the act of ploughing soil <- verb

an "until" is:

 up to the time of         <- prepositive
 before                    <- conjunctive

While it is considered reasonable by many[1] to substitute "till" for
"until" I don't see this as something to promote in the docs esp.
when there is a negligible economy in using of "till" instead of "until":

(length "till")  ;=> 4
(length "until") ;=> 5

And where the latter has presents little interpretational ambiguity
the former does esp. vis a vis putative Emacs intl8n/translation
efforts.

Likewise, practitioners of many programming languages often have an
immediate usage mnemonic for "until".[2]

Note, following list of files/symbols/strings identify visible
occurrences (i.e not inside a comment) where " till " appears in the
Emacs sources and would be better suited wit the use of until:

--
src/textprop.c

`next-char-property-change'
 "This scans characters forward in the current buffer from POSITION till"

`previous-char-property-change'
 "Scans characters backward in the current buffer from POSITION till it"

`next-single-char-property-change'
 "Scans characters forward from POSITION till it finds"

`previous-single-char-property-change'
 "Scans characters backward from POSITION till it finds"

`next-property-change'
 "Scans characters forward from POSITION in OBJECT till it finds"

`next-single-property-change'
 "Scans characters forward from POSITION till it finds"

`previous-property-change'
 "Scans characters backwards from POSITION in OBJECT till it finds"

`previous-single-property-change'
"Scans characters backward from POSITION till it finds"

--
doc/lispref/text.texi

"string or buffer @var{object} till it finds a change in some text"

--
lisp/subr.el
"Execute BODY, but don't call the after-change functions till the end."

--
lisp/doc-view.el
`doc-view-open-text'

 (message "DocView: please wait till conversion finished.")

`doc-view-search'
 (message "DocView: please wait till conversion finished.")

--
lisp/midnight.el
`midnight-next'

  "Return the number of seconds till the next midnight."

--
lisp/vc/vc-rcs.el
`vc-release-greater-or-equal'
 "lower \(5.6.7 is earlier than 5.6.7.1\).  Comparison runs till the end"

--
calendar/appt.el
`appt-mode-string'

"The actual string includes the amount of time till the appointment."

--
progmodes/which-func.el
`which-func-non-auto-modes'

"List of major modes where Which Function mode is inactive till Imenu is used."

--
progmodes/fortran.el
`fortran-column-ruler'

"Insert a column ruler momentarily above current line, till next keystroke."

--
cedet/ede/files.el
`semantic-debug-go'

"Continue parsing till finish or breakpoint."

--
cedet/semantic/util.el
`semantic-recursive-find-nonterminal-by-name'

"Start search with BUFFER.  Recurse through all dependencies till found."

--
admin/emacs-pretesters

"user-visible bugs, don't wait till pretest time.  Instead, send them"

"pretest time, we will have to defer them till later, and that might"

admin/notes/copyright

"files, which did not appear till Athena support was added in Lucid"

"  - had no copyright notice till Feb 2007. ChangeLog.3 suggests it was"

"  till Feb 2007, when FSF copyright was added. Matt Norwood advised:"

---

[1] From a usage note @ dictionary.com:
,----
|
| "Till" and "until" are both old in the language and are
| interchangeable as both prepositions and conjunctions:
|
|  "It rained till (or until) nearly midnight."
|
|  "The savannah remained brown and lifeless until (or till) the rains
|   began."
|
| Till is not a shortened form of until and is not spelled "'till".
|
| "'Til" is usually considered a spelling error, though widely used in
| advertising:
|
|  "Open 'til ten."
|
`----

For example Emacs lisp has these "*-until-*' symbols:
 `run-hook-with-args-until-failure' `run-hook-with-args-until-success'
`timer-until'

Moreover other languages have untils to as evidenced with:

 - the until keyword in Common Lisp's `loop' macro,
 - the Perl until operator see `perl-font-lock-keywords-2'
 - Delphi Pascals until see `delphi-keywords'
 - Pascal is littered with "until" references See pascal-mode's
`pascal-start-keywords'
 - Ada 95 has them too, see `ada-95-string-keywords'
 - Icon has it in `icon-resword-alist' and `icon-font-lock-keywords-2'
 - IDL has it in `idlwave-idl-keywords'
 - MetaFont/MetaPost has one in `meta-common-primitives-list'
 - Modula-2 has until in `m3-font-lock-keywords-2'
 - Octave - you betcha - see `octave-end-keywords'
 - Ruby too try `ruby-block-beg-keywords'
 - sh has some as well see `sh-leading-keywords', `sh-indent-for-do', etc.
 - Simula 87 - yep try `simula-font-lock-keywords-2'
 - SQL - why not try the Linter, Oracle, and Postgres keywords
 - Verilog - but of course check out `verilog-keywords'
 - VHDL won't be left out its in `vhdl-93-keywords'

--

/s_P\