Mercurial > emacs
annotate lisp/forms-d2.el @ 112119:48f5ac42611a
Reconcile with changes in line movement behavior for long text lines
that cross more than a single physical window line, ie when truncate-lines
is nil.
(allout-next-visible-heading): Provide for change in line-move behavior on
long lines when truncate-lines is nil. In that case, line-move can wind up
on the same textual line when it moves to the next window line, and moving
to the bullet position after the move yields zero advancement. Add logic
to detect and compensate for the lack of progress.
(allout-current-topic-collapsed-p): move-end-of-line respect for field
boundaries is different when operating with body lines shorter than window
width versus ones greater than window width, which can yield false
negatives in this function. Avoid difference by applying move-end-of-line
while field-text-motion is inhibited.
author | Ken Manheimer <ken.manheimer@gmail.com> |
---|---|
date | Tue, 04 Jan 2011 14:44:10 -0500 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
rev | line source |
---|---|
47726
33d53d287ee4
Add "no-byte-compile: t" in first line.
Juanma Barranquero <lekktu@gmail.com>
parents:
38436
diff
changeset
|
1 ;;; forms-d2.el --- demo forms-mode -*- no-byte-compile: t -*- |
25867 | 2 |
74679
829062b6492b
Copy copyright header from forms.el (at rms instruction).
Glenn Morris <rgm@gnu.org>
parents:
64542
diff
changeset
|
3 ;; Copyright (C) 1991, 1994, 1995, 1996, 1997, 2001, 2002, 2003, |
106815 | 4 ;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
74679
829062b6492b
Copy copyright header from forms.el (at rms instruction).
Glenn Morris <rgm@gnu.org>
parents:
64542
diff
changeset
|
5 |
25867 | 6 ;; Author: Johan Vromans <jvromans@squirrel.nl> |
7 ;; Created: 1989 | |
8 | |
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
25867
diff
changeset
|
9 ;; This file is part of GNU Emacs. |
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
25867
diff
changeset
|
10 |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94366
diff
changeset
|
11 ;; GNU Emacs is free software: you can redistribute it and/or modify |
78235
8b0dabde9595
Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
12 ;; it under the terms of the GNU General Public License as published by |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94366
diff
changeset
|
13 ;; the Free Software Foundation, either version 3 of the License, or |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94366
diff
changeset
|
14 ;; (at your option) any later version. |
78235
8b0dabde9595
Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
15 |
8b0dabde9595
Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
16 ;; GNU Emacs is distributed in the hope that it will be useful, |
8b0dabde9595
Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
8b0dabde9595
Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
8b0dabde9595
Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
19 ;; GNU General Public License for more details. |
8b0dabde9595
Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
20 |
8b0dabde9595
Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
21 ;; You should have received a copy of the GNU General Public License |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94366
diff
changeset
|
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
78235
8b0dabde9595
Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
23 |
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
25867
diff
changeset
|
24 ;;; Commentary: |
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
25867
diff
changeset
|
25 |
25867 | 26 ;; This sample forms exploit most of the features of forms mode. |
27 | |
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
25867
diff
changeset
|
28 ;;; Code: |
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
25867
diff
changeset
|
29 |
25867 | 30 ;; Set the name of the data file. |
94366
4a0361c406b4
(forms-file): Update for moved forms-d2.dat.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
31 (setq forms-file (expand-file-name "forms-d2.dat" data-directory)) |
25867 | 32 |
33 ;; Use 'forms-enumerate' to set field names and number thereof. | |
34 (setq forms-number-of-fields | |
35 (forms-enumerate | |
36 '(arch-newsgroup ; 1 | |
37 arch-volume ; 2 | |
38 arch-issue ; and ... | |
39 arch-article ; ... so | |
40 arch-shortname ; ... ... on | |
41 arch-parts | |
42 arch-from | |
43 arch-longname | |
44 arch-keywords | |
45 arch-date | |
46 arch-remarks))) | |
47 | |
48 ;; The following functions are used by this form for layout purposes. | |
49 ;; | |
50 (defun arch-tocol (target &optional fill) | |
64542
24c6e1c8e0cb
(arch-rj): Fix typo in docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents:
52401
diff
changeset
|
51 "Produces a string to skip to column TARGET. Prepends newline if needed. |
25867 | 52 The optional FILL should be a character, used to fill to the column." |
53 (if (null fill) | |
64542
24c6e1c8e0cb
(arch-rj): Fix typo in docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents:
52401
diff
changeset
|
54 (setq fill ?\s)) |
25867 | 55 (if (< target (current-column)) |
56 (concat "\n" (make-string target fill)) | |
57 (make-string (- target (current-column)) fill))) | |
58 ;; | |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47726
diff
changeset
|
59 (defun arch-rj (target field &optional fill) |
25867 | 60 "Produces a string to skip to column TARGET minus the width of field FIELD. |
64542
24c6e1c8e0cb
(arch-rj): Fix typo in docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents:
52401
diff
changeset
|
61 Prepends newline if needed. The optional FILL should be a character, |
25867 | 62 used to fill to the column." |
63 (arch-tocol (- target (length (nth field forms-fields))) fill)) | |
64 | |
65 ;; Record filters. | |
66 ;; | |
67 (defun arch-new-record-filter (the-record) | |
68 "Form a new record with some defaults." | |
69 (aset the-record arch-from (user-full-name)) | |
70 (aset the-record arch-date (current-time-string)) | |
71 the-record ; return it | |
72 ) | |
73 (setq forms-new-record-filter 'arch-new-record-filter) | |
74 | |
75 ;; The format list. | |
76 (setq forms-format-list | |
77 (list | |
78 "====== Public Domain Software Archive ======\n\n" | |
79 arch-shortname | |
80 " - " arch-longname | |
81 "\n\n" | |
82 "Article: " arch-newsgroup | |
83 "/" arch-article | |
84 " " | |
85 '(arch-tocol 40) | |
86 "Issue: " arch-issue | |
87 " " | |
88 '(arch-rj 73 10) | |
89 "Date: " arch-date | |
90 "\n\n" | |
91 "Submitted by: " arch-from | |
92 "\n" | |
93 '(arch-tocol 79 ?-) | |
94 "\n" | |
95 "Keywords: " arch-keywords | |
96 "\n\n" | |
97 "Parts: " arch-parts | |
98 "\n\n====== Remarks ======\n\n" | |
99 arch-remarks | |
100 )) | |
101 | |
102 ;; That's all, folks! | |
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
25867
diff
changeset
|
103 |
93975
1e3a407766b9
Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
79721
diff
changeset
|
104 ;; arch-tag: 8e5d5dac-7abf-4722-ab5e-03eb749beaca |
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
25867
diff
changeset
|
105 ;;; forms-d2.el ends here |