annotate lisp/gnome.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 b9167d522a9a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5288
061f4feaeefd More permission consistency. (Opps, missed one.)
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5231
diff changeset
1 ;; gnome.el --- GNOME integration for XEmacs/GTK
061f4feaeefd More permission consistency. (Opps, missed one.)
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5231
diff changeset
2 ;;
061f4feaeefd More permission consistency. (Opps, missed one.)
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5231
diff changeset
3 ;; Copyright (C) 2000, 2001 William M. Perry
061f4feaeefd More permission consistency. (Opps, missed one.)
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5231
diff changeset
4 ;;
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 502
diff changeset
5 ;; This file is part of XEmacs.
5404
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
6
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
7 ;; XEmacs is free software: you can redistribute it and/or modify it
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 502
diff changeset
8 ;; under the terms of the GNU General Public License as published by the
5404
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
9 ;; Free Software Foundation, either version 3 of the License, or (at your
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
10 ;; option) any later version.
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
11
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 502
diff changeset
12 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 502
diff changeset
13 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 502
diff changeset
14 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 502
diff changeset
15 ;; for more details.
5404
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
16
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 502
diff changeset
17 ;; You should have received a copy of the GNU General Public License
5404
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
18 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>.
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 502
diff changeset
19
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
20 (globally-declare-fboundp
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
21 '(gtk-type-from-name
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
22 gtk-import-function-internal
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
23 gtk-call-function))
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
24
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
25 (defvar gnome-init-called nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
26
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
27 (defun gnome-init (app-id app-version argv)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
28 (mapc 'dll-load
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
29 '("libgnomesupport.so"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
30 "libgnome.so"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
31 "libgnomeui.so"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
32 "libesd.so"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
33 "libaudiofile.so"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
34 "libart_lgpl.so"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
35 (if (and (not (noninteractive)) (not gnome-init-called)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
36 (= (gtk-type-from-name "GnomeApp") 0))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
37 (prog1
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
38 (gtk-call-function (gtk-import-function-internal
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
39 'gint "gnome_init" '(GtkString GtkString gint GtkArrayOfString))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
40 (list app-id app-version (length argv) argv))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
41 (setq gnome-init-called t))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
42
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
43 (require 'gnome-widgets)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
44 (provide 'gnome)