comparison lisp/hyperbole/kotl/kfile.el @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents c53a95d3c46d
children 8619ce7e4c50
comparison
equal deleted inserted replaced
69:804d1389bcd6 70:131b0175ea99
6 ;; KEYWORDS: outlines, wp 6 ;; KEYWORDS: outlines, wp
7 ;; 7 ;;
8 ;; AUTHOR: Bob Weiner & Kellie Clark 8 ;; AUTHOR: Bob Weiner & Kellie Clark
9 ;; 9 ;;
10 ;; ORIG-DATE: 10/31/93 10 ;; ORIG-DATE: 10/31/93
11 ;; LAST-MOD: 6-Mar-97 at 01:17:51 by Bob Weiner 11 ;; LAST-MOD: 1-Nov-95 at 00:46:41 by Bob Weiner
12
13 ;;; ************************************************************************ 12 ;;; ************************************************************************
14 ;;; Other required Elisp libraries 13 ;;; Other required Elisp libraries
15 ;;; ************************************************************************ 14 ;;; ************************************************************************
16 15
17 (mapcar 'require '(kproperty kotl-mode)) 16 (mapcar 'require '(kproperty kotl-mode))
151 (defun kfile:read (buffer existing-file-p) 150 (defun kfile:read (buffer existing-file-p)
152 "Create a new kotl view by reading BUFFER or create an empty view when EXISTING-FILE-P is nil. 151 "Create a new kotl view by reading BUFFER or create an empty view when EXISTING-FILE-P is nil.
153 Return the new view." 152 Return the new view."
154 (let (ver-string) 153 (let (ver-string)
155 (cond ((not (bufferp buffer)) 154 (cond ((not (bufferp buffer))
156 (error "(kfile:read): Argument must be a buffer, `%s'." buffer)) 155 (error "(kfile:read): Argument must be a buffer, '%s'." buffer))
157 ((not existing-file-p) 156 ((not existing-file-p)
158 (kfile:create buffer)) 157 (kfile:create buffer))
159 ((progn 158 ((progn
160 (set-buffer buffer) 159 (set-buffer buffer)
161 (not (setq ver-string (kfile:is-p)))) 160 (not (setq ver-string (kfile:is-p))))
162 (error "(kfile:read): `%s' is not a koutline file." buffer)) 161 (error "(kfile:read): '%s' is not a koutline file." buffer))
163 ((equal ver-string "Kotl-4.0") 162 ((equal ver-string "Kotl-4.0")
164 (kfile:read-v4-or-v3 buffer nil)) 163 (kfile:read-v4-or-v3 buffer nil))
165 ((equal ver-string "Kotl-3.0") 164 ((equal ver-string "Kotl-3.0")
166 (kfile:read-v4-or-v3 buffer t)) 165 (kfile:read-v4-or-v3 buffer t))
167 ((equal ver-string "Kotl-2.0") 166 ((equal ver-string "Kotl-2.0")
168 (kfile:read-v2 buffer)) 167 (kfile:read-v2 buffer))
169 ((equal ver-string "Kotl-1.0") 168 ((equal ver-string "Kotl-1.0")
170 (error "(kfile:read): V1 koutlines are no longer supported")) 169 (error "(kfile:read): V1 koutlines are no longer supported"))
171 (t (error "(kfile:read): `%s' has unknown kotl version, %s." 170 (t (error "(kfile:read): '%s' has unknown kotl version, %s."
172 buffer ver-string))))) 171 buffer ver-string)))))
173 172
174 (defun kfile:read-v2 (buffer) 173 (defun kfile:read-v2 (buffer)
175 "Create a kotl view by reading kotl version-2 BUFFER. Return the new view." 174 "Create a kotl view by reading kotl version-2 BUFFER. Return the new view."
176 (let ((standard-input buffer) 175 (let ((standard-input buffer)
322 ;; Return point to its original position as given by the opoint marker. 321 ;; Return point to its original position as given by the opoint marker.
323 (goto-char opoint) 322 (goto-char opoint)
324 (set-marker opoint nil) 323 (set-marker opoint nil)
325 nil))) 324 nil)))
326 325
327 ;;; Next function is adapted from `file-write' of GNU Emacs 19, copyright FSF, 326 ;;; Next function is adapted from 'file-write' of GNU Emacs 19, copyright FSF,
328 ;;; under the GPL. 327 ;;; under the GPL.
329 (defun kfile:write (file) 328 (defun kfile:write (file)
330 "Write current outline to FILE." 329 "Write current outline to FILE."
331 (interactive "FWrite outline file: ") 330 (interactive "FWrite outline file: ")
332 (if (or (null file) (string-equal file "")) 331 (if (or (null file) (string-equal file ""))
528 ;;; ************************************************************************ 527 ;;; ************************************************************************
529 ;;; Private variables 528 ;;; Private variables
530 ;;; ************************************************************************ 529 ;;; ************************************************************************
531 530
532 (defvar kfile:escape-newlines t 531 (defvar kfile:escape-newlines t
533 "Value of print-escape-newlines used by `kfile:print-to-string' function.") 532 "Value of print-escape-newlines used by 'kfile:print-to-string' function.")
534 533
535 (provide 'kfile) 534 (provide 'kfile)