/[climacs]/climacs/packages.lisp
ViewVC logotype

Contents of /climacs/packages.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.80 - (show annotations)
Thu Sep 1 00:21:08 2005 UTC (8 years, 7 months ago) by mretzlaff
Branch: MAIN
Changes since 1.79: +4 -3 lines
 The COMPLETABLE-PATHNAME class

This patch mainly removes the class COMPLETABLE-PATHNAME. There is
nothing special about those pathnames that make them completable. They
are just ordinary pathnames (no offence meant). Instead, the ACCEPT
and PRESENT method that formerly specialized on that presentation
type, specialize now on the ordinary PATHNAME class *and* on climacs'
custom view class CLIMACS-TEXTUAL-VIEW, that was already defined in
pane.lisp but was not yet used anywhere. (Robert Strandh accedes:
"I think it must have been meant for this kind of situation.")


The variable climacs-pane:+climacs-textual-view+ has been added, it
hold an instance of the class climacs-pane:climacs-textual-view, just
as there are such variables for the standard view classes (see clim
spec 23.6).  Both symbols, #:climacs-textual-view and
#:+climacs-textual-view+, of the package CLIMACS-PANE are exported.


+climacs-textual-view+ is the :DEFAULT-VIEW for the class
CLIMACS-GUI::CLIMACS-MINIBUFFER-PANE now (set via the
:DEFAULT-INITARGS parameter of the class definition) so that the
aforementioned ACCEPT and PRESENT methods for pathnames are used in
the minibuffer. (See at the beginning of gui.lisp.)

The :DEFAULT-VIEW for the class CLIMACS-PANE:CLIMACS-PANE was not
specified in the same way, but in the :AFTER method of
(initialize-instance (pane climacs-pane)) via the line:

  (setf (stream-default-view pane) (make-instance 'climacs-textual-view))

This is changed to be specified in the appropriate DEFCLASS form, as
well.


As the :DEFAULT-VIEW of the minibuffer is now changed, all the calls to
     (accept 'completable-pathname :prompt "..")
are now substituted by just
     (accept 'pathname :prompt "..")
without the need for explicit specification by use of the :VIEW
keyword. All these calls are changed, even the one in
slidemacs-gui.lisp.


(If we feel the need for a special view class for the info-pane
we can always subclass CLIMACS-MINIBUFFER-PANE later. Only the
:DEFAULT-VIEW inside the :DEFAULT-INITARGS argument has to be
changed then, if we do things correctly.)



 The function CLIMACS-GUI:CLIMACS

I added the keywords NEW-PROCESS and PROCESS-NAME to the lambda-list
and the correspondent construct. You can now do
     (climacs-gui:climacs :new-process t)
Just as it is possible with Clouseau and the Climacs-Listener.

CLIMACS-GUI:CLIMACS is also exported now. Why wasn't it before?



Some further comments, in case this message is not long enough for you,
can be found in the original mail in which I published my patch:
     http://article.gmane.org/gmane.lisp.climacs.devel/264
1 ;;; -*- Mode: Lisp; Package: COMMON-LISP-USER -*-
2
3 ;;; (c) copyright 2004-2005 by
4 ;;; Robert Strandh (strandh@labri.fr)
5 ;;; (c) copyright 2005 by
6 ;;; Matthieu Villeneuve (matthieu.villeneuve@free.fr)
7
8 ;;; This library is free software; you can redistribute it and/or
9 ;;; modify it under the terms of the GNU Library General Public
10 ;;; License as published by the Free Software Foundation; either
11 ;;; version 2 of the License, or (at your option) any later version.
12 ;;;
13 ;;; This library is distributed in the hope that it will be useful,
14 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 ;;; Library General Public License for more details.
17 ;;;
18 ;;; You should have received a copy of the GNU Library General Public
19 ;;; License along with this library; if not, write to the
20 ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 ;;; Boston, MA 02111-1307 USA.
22
23 ;;; Package definitions for the Climacs editor.
24
25 (defpackage :climacs-buffer
26 (:use :clim-lisp :flexichain :binseq)
27 (:export #:buffer #:standard-buffer
28 #:mark #:left-sticky-mark #:right-sticky-mark
29 #:standard-left-sticky-mark #:standard-right-sticky-mark
30 #:clone-mark
31 #:no-such-offset #:offset-before-beginning #:offset-after-end
32 #:invalid-motion #:motion-before-beginning #:motion-after-end
33 #:size #:number-of-lines
34 #:offset #:mark< #:mark<= #:mark= #:mark> #:mark>=
35 #:forward-object #:backward-object
36 #:beginning-of-buffer #:end-of-buffer
37 #:beginning-of-buffer-p #:end-of-buffer-p
38 #:beginning-of-line #:end-of-line
39 #:beginning-of-line-p #:end-of-line-p
40 #:buffer-line-number #:buffer-column-number
41 #:line-number #:column-number
42 #:insert-buffer-object #:insert-buffer-sequence
43 #:insert-object #:insert-sequence
44 #:delete-buffer-range #:delete-range
45 #:delete-region
46 #:buffer-object #:buffer-sequence
47 #:object-before #:object-after #:region-to-sequence
48 #:low-mark #:high-mark #:modified-p #:clear-modify
49
50 #:binseq-buffer #:obinseq-buffer #:binseq2-buffer
51 #:persistent-left-sticky-mark #:persistent-right-sticky-mark
52 #:persistent-left-sticky-line-mark #:persistent-right-sticky-line-mark
53 #:p-line-mark-mixin #:buffer-line-offset
54
55 #:delegating-buffer #:implementation))
56
57 (defpackage :climacs-base
58 (:use :clim-lisp :climacs-buffer)
59 (:export #:do-buffer-region
60 #:previous-line #:next-line
61 #:open-line #:kill-line
62 #:empty-line-p
63 #:line-indentation
64 #:buffer-display-column
65 #:number-of-lines-in-region
66 #:constituentp #:whitespacep
67 #:forward-word #:backward-word
68 #:delete-word #:backward-delete-word
69 #:buffer-region-case
70 #:upcase-buffer-region #:upcase-region
71 #:downcase-buffer-region #:downcase-region
72 #:capitalize-buffer-region #:capitalize-region
73 #:upcase-word #:downcase-word #:capitalize-word
74 #:tabify-region #:untabify-region
75 #:indent-line
76 #:delete-indentation
77 #:fill-line
78 #:input-from-stream #:output-to-stream
79 #:name-mixin #:name
80 #:buffer-looking-at #:looking-at
81 #:buffer-search-forward #:buffer-search-backward
82 #:buffer-re-search-forward #:buffer-re-search-backward
83 #:search-forward #:search-backward
84 #:re-search-forward #:re-search-backward))
85
86 (defpackage :climacs-abbrev
87 (:use :clim-lisp :clim :climacs-buffer :climacs-base)
88 (:export #:abbrev-expander #:dictionary-abbrev-expander #:dictionary
89 #:expand-abbrev #:abbrev-mixin #:possibly-expand-abbrev
90 #:add-abbrev))
91
92 (defpackage :climacs-syntax
93 (:use :clim-lisp :clim :climacs-buffer :climacs-base :flexichain)
94 (:export #:syntax #:define-syntax
95 #:syntax-from-name
96 #:basic-syntax
97 #:update-syntax #:update-syntax-for-display
98 #:grammar #:grammar-rule #:add-rule
99 #:parser #:initial-state
100 #:advance-parse
101 #:parse-tree #:start-offset #:end-offset
102 #:lexer #:nb-lexemes #:lexeme #:insert-lexeme
103 #:incremental-lexer #:next-lexeme
104 #:delete-invalid-lexemes #:inter-lexeme-object-p
105 #:skip-inter-lexeme-objects #:update-lex
106 #:parse-stack-top #:target-parse-tree #:parse-state-empty-p
107 #:parse-stack-next #:parse-stack-symbol
108 #:parse-stack-parse-trees #:map-over-parse-trees
109 #:no-such-operation #:no-expression
110 #:syntax-line-indentation
111 #:forward-expression #:backward-expression
112 #:eval-defun
113 #:beginning-of-definition #:end-of-definition
114 #:redisplay-pane-with-syntax
115 #:backward-paragraph #:forward-paragraph
116 #:backward-sentence #:forward-sentence
117 #:forward-list #:backward-list
118 #:down-list #:up-list
119 #:backward-down-list #:backward-up-list
120 #:syntax-line-comment-string
121 #:line-comment-region #:comment-region
122 #:line-uncomment-region #:uncomment-region))
123
124 (defpackage :climacs-kill-ring
125 (:use :clim-lisp :flexichain)
126 (:export #:kill-ring #:kill-ring-length #:kill-ring-max-size
127 #:append-next-p
128 #:reset-yank-position #:rotate-yank-position #:kill-ring-yank
129 #:kill-ring-standard-push #:kill-ring-concatenating-push
130 #:kill-ring-reverse-concatenating-push))
131
132 (defpackage :undo
133 (:use :common-lisp)
134 (:export #:no-more-undo
135 #:undo-tree #:standard-undo-tree
136 #:undo-record #:standard-undo-record
137 #:add-undo #:flip-undo-record #:undo #:redo))
138
139 (defpackage :climacs-pane
140 (:use :clim-lisp :clim :climacs-buffer :climacs-base :climacs-abbrev
141 :climacs-syntax :flexichain :undo)
142 (:export #:climacs-buffer #:needs-saving #:filepath
143 #:read-only-p #:buffer-read-only
144 #:climacs-pane #:point #:mark
145 #:redisplay-pane #:full-redisplay
146 #:display-cursor
147 #:display-mark
148 #:page-down #:page-up
149 #:top #:bot
150 #:tab-space-count #:space-width #:tab-width
151 #:indent-tabs-mode
152 #:auto-fill-mode #:auto-fill-column
153 #:isearch-state #:search-string #:search-mark
154 #:search-forward-p #:search-success-p
155 #:isearch-mode #:isearch-states #:isearch-previous-string
156 #:query-replace-state #:string1 #:string2
157 #:query-replace-mode
158 #:mark-visible-p
159 #:with-undo
160 #:url
161 #:climacs-textual-view #:+climacs-textual-view+))
162
163 (defpackage :climacs-fundamental-syntax
164 (:use :clim-lisp :clim :climacs-buffer :climacs-base
165 :climacs-syntax :flexichain :climacs-pane)
166 (:export))
167
168 (defpackage :climacs-html-syntax
169 (:use :clim-lisp :clim :climacs-buffer :climacs-base
170 :climacs-syntax :flexichain :climacs-pane))
171
172 (defpackage :climacs-prolog-syntax
173 (:use :clim-lisp :clim :climacs-buffer :climacs-base
174 :climacs-syntax :flexichain :climacs-pane)
175 (:shadow "ATOM" "CLOSE" "EXP" "INTEGER" "OPEN" "VARIABLE"))
176
177 (defpackage :climacs-cl-syntax
178 (:use :clim-lisp :clim :climacs-buffer :climacs-base
179 :climacs-syntax :flexichain :climacs-pane)
180 (:export))
181
182 (defpackage :climacs-lisp-syntax
183 (:use :clim-lisp :clim :climacs-buffer :climacs-base
184 :climacs-syntax :flexichain :climacs-pane)
185 (:export :lisp-string))
186
187 (defpackage :esa
188 (:use :clim-lisp :clim)
189 (:export #:minibuffer-pane #:display-message
190 #:esa-pane-mixin #:previous-command
191 #:info-pane #:master-pane
192 #:esa-frame-mixin #:windows #:recordingp #:executingp
193 #:*numeric-argument-p* #:*current-gesture*
194 #:esa-top-level #:simple-command-loop
195 #:global-esa-table #:keyboard-macro-table
196 #:set-key))
197
198 (defpackage :climacs-gui
199 (:use :clim-lisp :clim :climacs-buffer :climacs-base :climacs-abbrev :climacs-syntax
200 :climacs-kill-ring :climacs-pane :clim-extensions :undo :esa)
201 (:import-from :climacs-lisp-syntax :lisp-string)
202 (:export :climacs))

  ViewVC Help
Powered by ViewVC 1.1.5