Mercurial > hg > xemacs-beta
annotate tests/tooltalk/simple.el @ 5914:bd4d2c8ef9cc
Use the existing C-level line number cache within #'line-number.
src/ChangeLog addition:
2015-05-15 Aidan Kehoe <kehoea@parhasard.net>
* buffer.c:
* buffer.c (Fline_number): New C implementation, using the line
number cache of line-number.c, with a new optional BUFFER
argument.
* buffer.c (syms_of_buffer):
Make it available to Lisp.
* line-number.c (buffer_line_number):
New argument, RESPECT-NARROWING, describing whether to count from
the beginning of the visible region or from the beginning of the
buffer.
* line-number.h:
* line-number.h (buffer_line_number): Update its declaration.
* redisplay.c (window_line_number): Call it with the new argument.
lisp/ChangeLog addition:
2015-05-15 Aidan Kehoe <kehoea@parhasard.net>
* simple.el:
* simple.el (line-number): Moved to buffer.c; we have an existing
line number cache in C, it's a shame not to have it available.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Fri, 15 May 2015 18:11:47 +0100 |
| parents | 9fc91aa3a927 |
| children |
| rev | line source |
|---|---|
| 70 | 1 ;;; Example of Sending Messages |
| 2 | |
|
5408
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
3 ;; Copyright (C) 1995 Sun Microsystems, Inc |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
4 |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
5 ;; Author: Vladimir Ivanovic <vladimir@Eng.Sun.COM> |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
6 |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
7 ;; This file is part of XEmacs. |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
8 |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
9 ;; XEmacs is free software: you can redistribute it and/or modify it |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
10 ;; under the terms of the GNU General Public License as published by the |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
11 ;; Free Software Foundation, either version 3 of the License, or (at your |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
12 ;; option) any later version. |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
13 |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
14 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
15 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
16 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
17 ;; for more details. |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
18 |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
19 ;; You should have received a copy of the GNU General Public License |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
20 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
21 |
| 70 | 22 (defun tooltalk-random-query-handler (msg pat) |
| 23 (let ((state (get-tooltalk-message-attribute msg 'state))) | |
| 24 (cond | |
| 25 ((eq state 'TT_HANDLED) | |
| 26 (message (get-tooltalk-message-attribute msg arg_val 0))) | |
| 27 ((memq state '(TT_FAILED TT_REJECTED)) | |
| 28 (message "Random query turns up nothing"))))) | |
| 29 | |
| 30 (setq random-query-message | |
| 31 '( class TT_REQUEST | |
| 32 scope TT_SESSION | |
| 33 address TT_PROCEDURE | |
| 34 op "random-query" | |
| 35 args ((TT_INOUT "?" "string")) | |
| 36 callback tooltalk-random-query-handler)) | |
| 37 | |
| 38 (let ((m (make-tooltalk-message random-query-message))) | |
| 39 (send-tooltalk-message m)) | |
| 40 | |
| 41 ;;; Example of Receiving Messaegs | |
| 42 | |
| 43 (defun tooltalk-display-string-handler (msg pat) | |
| 44 (return-tooltalk-message msg 'reply) | |
| 45 (describe-tooltalk-message msg) | |
| 46 (message (get-tooltalk-message-attribute msg 'arg_val 0))) | |
| 47 | |
| 48 (setq display-string-pattern | |
| 49 '(category TT_HANDLE | |
| 50 scope TT_SESSION | |
| 51 op "emacs-eval" | |
| 52 args ((TT_IN "filename" "string")) | |
| 53 callback tooltalk-display-string-handler)) | |
| 54 | |
| 55 (let ((p (make-tooltalk-pattern display-string-pattern))) | |
| 56 (register-tooltalk-pattern p)) | |
| 57 |
