diff options
| author | Paul Eggert | 2011-02-09 23:04:56 -0800 |
|---|---|---|
| committer | Paul Eggert | 2011-02-09 23:04:56 -0800 |
| commit | be6d99804b3efdecf3660c4b51da1945e955fb4d (patch) | |
| tree | 99b523c445f7b95572ab668f4e878cd703ff3527 | |
| parent | dd4638842ad1921562bc66049ec81a4530651cdf (diff) | |
| parent | 67f02b82f496be403353a1dc918cc4f2278841bb (diff) | |
| download | emacs-be6d99804b3efdecf3660c4b51da1945e955fb4d.tar.gz emacs-be6d99804b3efdecf3660c4b51da1945e955fb4d.zip | |
Merge from mainline.
48 files changed, 1177 insertions, 4103 deletions
| @@ -1,4 +1,4 @@ | |||
| 1 | 2011-02-08 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2011-02-10 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | Import getloadavg module from gnulib. | 3 | Import getloadavg module from gnulib. |
| 4 | * .bzrignore: Add lib/stdlib.h. | 4 | * .bzrignore: Add lib/stdlib.h. |
| @@ -19,6 +19,31 @@ | |||
| 19 | * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4: | 19 | * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4: |
| 20 | * src/config.in: Regenerate. | 20 | * src/config.in: Regenerate. |
| 21 | 21 | ||
| 22 | 2011-02-10 Paul Eggert <eggert@cs.ucla.edu> | ||
| 23 | |||
| 24 | * arg-nonnull.h, c++defs.h, warn-on-use.h: Fix licenses. | ||
| 25 | Sync from gnulib, which has been patched to fix the problem | ||
| 26 | with the license notices. Problem reported by Glenn Morris in | ||
| 27 | <http://lists.gnu.org/archive/html/emacs-devel/2011-02/msg00403.html>. | ||
| 28 | |||
| 29 | 2011-02-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 30 | |||
| 31 | * .bzrignore: Ignore globals.h and related stamp. | ||
| 32 | |||
| 33 | 2011-02-09 Paul Eggert <eggert@cs.ucla.edu> | ||
| 34 | |||
| 35 | * lib/Makefile.in, lib/gnulib.mk: Regenerate. | ||
| 36 | This merges the following fix from gnulib: | ||
| 37 | |||
| 38 | 2011-02-08 Bruno Haible <bruno@clisp.org> | ||
| 39 | |||
| 40 | Split large sed scripts, for HP-UX sed. | ||
| 41 | |||
| 42 | 2011-02-08 Tom Tromey <tromey@redhat.com> | ||
| 43 | |||
| 44 | * configure: Rebuild. | ||
| 45 | * configure.in (NS_OBJC_OBJ): New subst. | ||
| 46 | |||
| 22 | 2011-02-06 Paul Eggert <eggert@cs.ucla.edu> | 47 | 2011-02-06 Paul Eggert <eggert@cs.ucla.edu> |
| 23 | 48 | ||
| 24 | gnulib: allow multiple gnulib generated replacements to coexist | 49 | gnulib: allow multiple gnulib generated replacements to coexist |
diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker index 7c6c0ff4272..02ca77bf7de 100644 --- a/admin/notes/bugtracker +++ b/admin/notes/bugtracker | |||
| @@ -395,9 +395,14 @@ automatically sets a found version (if none is explicitly specified). | |||
| 395 | *** To assign or reassign a bug to a package or list of packages: | 395 | *** To assign or reassign a bug to a package or list of packages: |
| 396 | reassign 1234 emacs | 396 | reassign 1234 emacs |
| 397 | 397 | ||
| 398 | Note that reassigning clears the list of found versions, even if the | ||
| 399 | new packages includes the original one. | ||
| 400 | |||
| 398 | ** To remove spam from the tracker, move it to the `spam' pseudo-package: | 401 | ** To remove spam from the tracker, move it to the `spam' pseudo-package: |
| 399 | reassign 123 spam | 402 | reassign 123 spam |
| 400 | 403 | ||
| 404 | (Should not be necessary any more, now that the input is moderated.) | ||
| 405 | |||
| 401 | ** To change the title of a bug: | 406 | ** To change the title of a bug: |
| 402 | retitle 123 Some New Title | 407 | retitle 123 Some New Title |
| 403 | 408 | ||
| @@ -926,6 +926,7 @@ GMALLOC_OBJ | |||
| 926 | HAVE_XSERVER | 926 | HAVE_XSERVER |
| 927 | LIB_STANDARD | 927 | LIB_STANDARD |
| 928 | NS_SUPPORT | 928 | NS_SUPPORT |
| 929 | NS_OBJC_OBJ | ||
| 929 | NS_OBJ | 930 | NS_OBJ |
| 930 | TEMACS_LDFLAGS2 | 931 | TEMACS_LDFLAGS2 |
| 931 | LD_SWITCH_X_SITE_AUX_RPATH | 932 | LD_SWITCH_X_SITE_AUX_RPATH |
| @@ -1104,9 +1105,6 @@ LDFLAGS | |||
| 1104 | LIBS | 1105 | LIBS |
| 1105 | CPPFLAGS | 1106 | CPPFLAGS |
| 1106 | CPP | 1107 | CPP |
| 1107 | CPPFLAGS | ||
| 1108 | CPP | ||
| 1109 | CPPFLAGS | ||
| 1110 | XMKMF' | 1108 | XMKMF' |
| 1111 | 1109 | ||
| 1112 | 1110 | ||
| @@ -8853,6 +8851,7 @@ fi | |||
| 8853 | 8851 | ||
| 8854 | ns_frag=/dev/null | 8852 | ns_frag=/dev/null |
| 8855 | NS_OBJ= | 8853 | NS_OBJ= |
| 8854 | NS_OBJC_OBJ= | ||
| 8856 | NS_SUPPORT= | 8855 | NS_SUPPORT= |
| 8857 | if test "${HAVE_NS}" = yes; then | 8856 | if test "${HAVE_NS}" = yes; then |
| 8858 | window_system=nextstep | 8857 | window_system=nextstep |
| @@ -8864,7 +8863,8 @@ if test "${HAVE_NS}" = yes; then | |||
| 8864 | prefix=${ns_appresdir} | 8863 | prefix=${ns_appresdir} |
| 8865 | fi | 8864 | fi |
| 8866 | ns_frag=$srcdir/src/ns.mk | 8865 | ns_frag=$srcdir/src/ns.mk |
| 8867 | NS_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o fontset.o fringe.o image.o" | 8866 | NS_OBJ="fontset.o fringe.o image.o" |
| 8867 | NS_OBJC_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o" | ||
| 8868 | NS_SUPPORT="\${lispsource}/emacs-lisp/easymenu.elc \${lispsource}/term/ns-win.elc" | 8868 | NS_SUPPORT="\${lispsource}/emacs-lisp/easymenu.elc \${lispsource}/term/ns-win.elc" |
| 8869 | fi | 8869 | fi |
| 8870 | CFLAGS="$tmp_CFLAGS" | 8870 | CFLAGS="$tmp_CFLAGS" |
| @@ -8874,6 +8874,7 @@ CPPFLAGS="$tmp_CPPFLAGS" | |||
| 8874 | 8874 | ||
| 8875 | 8875 | ||
| 8876 | 8876 | ||
| 8877 | |||
| 8877 | case "${window_system}" in | 8878 | case "${window_system}" in |
| 8878 | x11 ) | 8879 | x11 ) |
| 8879 | HAVE_X_WINDOWS=yes | 8880 | HAVE_X_WINDOWS=yes |
diff --git a/configure.in b/configure.in index d095e08fb23..ed25373a12d 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -1516,6 +1516,7 @@ AC_SUBST(TEMACS_LDFLAGS2) | |||
| 1516 | 1516 | ||
| 1517 | ns_frag=/dev/null | 1517 | ns_frag=/dev/null |
| 1518 | NS_OBJ= | 1518 | NS_OBJ= |
| 1519 | NS_OBJC_OBJ= | ||
| 1519 | NS_SUPPORT= | 1520 | NS_SUPPORT= |
| 1520 | if test "${HAVE_NS}" = yes; then | 1521 | if test "${HAVE_NS}" = yes; then |
| 1521 | window_system=nextstep | 1522 | window_system=nextstep |
| @@ -1527,12 +1528,14 @@ if test "${HAVE_NS}" = yes; then | |||
| 1527 | prefix=${ns_appresdir} | 1528 | prefix=${ns_appresdir} |
| 1528 | fi | 1529 | fi |
| 1529 | ns_frag=$srcdir/src/ns.mk | 1530 | ns_frag=$srcdir/src/ns.mk |
| 1530 | NS_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o fontset.o fringe.o image.o" | 1531 | NS_OBJ="fontset.o fringe.o image.o" |
| 1532 | NS_OBJC_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o" | ||
| 1531 | NS_SUPPORT="\${lispsource}/emacs-lisp/easymenu.elc \${lispsource}/term/ns-win.elc" | 1533 | NS_SUPPORT="\${lispsource}/emacs-lisp/easymenu.elc \${lispsource}/term/ns-win.elc" |
| 1532 | fi | 1534 | fi |
| 1533 | CFLAGS="$tmp_CFLAGS" | 1535 | CFLAGS="$tmp_CFLAGS" |
| 1534 | CPPFLAGS="$tmp_CPPFLAGS" | 1536 | CPPFLAGS="$tmp_CPPFLAGS" |
| 1535 | AC_SUBST(NS_OBJ) | 1537 | AC_SUBST(NS_OBJ) |
| 1538 | AC_SUBST(NS_OBJC_OBJ) | ||
| 1536 | AC_SUBST(NS_SUPPORT) | 1539 | AC_SUBST(NS_SUPPORT) |
| 1537 | AC_SUBST(LIB_STANDARD) | 1540 | AC_SUBST(LIB_STANDARD) |
| 1538 | AC_SUBST_FILE(ns_frag) | 1541 | AC_SUBST_FILE(ns_frag) |
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index aab3fc16f1a..0f1f0425478 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-02-09 Reuben Thomas <rrt@sc3d.org> | ||
| 2 | |||
| 3 | * loading.texi (Hooks for Loading): Remove unnecessary advice | ||
| 4 | about eval-after-load (Bug#7986). | ||
| 5 | |||
| 1 | 2011-02-05 Chong Yidong <cyd@stupidchicken.com> | 6 | 2011-02-05 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 7 | ||
| 3 | * commands.texi (Accessing Mouse): Note that a header line is not | 8 | * commands.texi (Accessing Mouse): Note that a header line is not |
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index 4e47647360f..ca233ac5f21 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi | |||
| @@ -1000,10 +1000,6 @@ it immediately---there is no need to wait until the library is loaded. | |||
| 1000 | If you need to call functions defined by that library, you should load | 1000 | If you need to call functions defined by that library, you should load |
| 1001 | the library, preferably with @code{require} (@pxref{Named Features}). | 1001 | the library, preferably with @code{require} (@pxref{Named Features}). |
| 1002 | 1002 | ||
| 1003 | But it is OK to use @code{eval-after-load} in your personal | ||
| 1004 | customizations if you don't feel that they must meet the design | ||
| 1005 | standards for programs meant for wider use. | ||
| 1006 | |||
| 1007 | @defvar after-load-alist | 1003 | @defvar after-load-alist |
| 1008 | This variable stores an alist built by @code{eval-after-load}, | 1004 | This variable stores an alist built by @code{eval-after-load}, |
| 1009 | containing the expressions to evaluate when certain libraries are | 1005 | containing the expressions to evaluate when certain libraries are |
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 53109fe7948..61e05aaf332 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-02-09 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * texinfo.tex: Update to version 2011-02-07.16. | ||
| 4 | |||
| 1 | 2011-02-07 Michael Albinus <michael.albinus@gmx.de> | 5 | 2011-02-07 Michael Albinus <michael.albinus@gmx.de> |
| 2 | 6 | ||
| 3 | * dbus.texi (Bus names): Adapt descriptions for | 7 | * dbus.texi (Bus names): Adapt descriptions for |
| @@ -562,9 +562,9 @@ listing object name completions when being sent text via | |||
| 562 | 562 | ||
| 563 | ** sregex.el is now obsolete, since rx.el is a strict superset. | 563 | ** sregex.el is now obsolete, since rx.el is a strict superset. |
| 564 | 564 | ||
| 565 | ** s-region.el is now declared obsolete, superceded by shift-select-mode | 565 | ** s-region.el and pc-select are now declared obsolete, |
| 566 | enabled by default in 23.1. | 566 | superceded by shift-select-mode enabled by default in 23.1. |
| 567 | 567 | ** pc-mode.el is also declared obsolete. | |
| 568 | ** gdb-mi | 568 | ** gdb-mi |
| 569 | 569 | ||
| 570 | *** GDB User Interface migrated to GDB Machine Interface and now | 570 | *** GDB User Interface migrated to GDB Machine Interface and now |
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 3f4e4b1b9ff..0f93941151e 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,23 @@ | |||
| 1 | 2011-02-09 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * make-docfile.c (EMACS_INTEGER): Rename from EMACS_INT. | ||
| 4 | This avoids collision with config.h's EMACS_INT on some | ||
| 5 | configurations. All uses changed. | ||
| 6 | |||
| 7 | 2011-02-08 Tom Tromey <tromey@redhat.com> | ||
| 8 | |||
| 9 | * make-docfile.c: Unconditionally include stdlib.h. | ||
| 10 | (generate_globals): New global. | ||
| 11 | (xrealloc): New function. | ||
| 12 | (main): Handle '-g'. Call start_globals, write_globals. | ||
| 13 | (scan_file): Conditionally call put_filename. | ||
| 14 | (start_globals): New function. | ||
| 15 | (struct global): New. | ||
| 16 | (num_globals, globals): New globals. | ||
| 17 | (add_global, compare_globals, write_globals): New functions. | ||
| 18 | (scan_c_file): Update for "-g". | ||
| 19 | (scan_lisp_file): Fail if "-g". | ||
| 20 | |||
| 1 | 2011-02-05 Paul Eggert <eggert@cs.ucla.edu> | 21 | 2011-02-05 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 22 | ||
| 3 | * emacsclient.c: conform to C89 pointer rules | 23 | * emacsclient.c: conform to C89 pointer rules |
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index 8addbda0489..93994c1ed3e 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c | |||
| @@ -41,11 +41,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 41 | #undef chdir | 41 | #undef chdir |
| 42 | 42 | ||
| 43 | #include <stdio.h> | 43 | #include <stdio.h> |
| 44 | #include <stdlib.h> | ||
| 44 | #ifdef MSDOS | 45 | #ifdef MSDOS |
| 45 | #include <fcntl.h> | 46 | #include <fcntl.h> |
| 46 | #endif /* MSDOS */ | 47 | #endif /* MSDOS */ |
| 47 | #ifdef WINDOWSNT | 48 | #ifdef WINDOWSNT |
| 48 | #include <stdlib.h> | ||
| 49 | #include <fcntl.h> | 49 | #include <fcntl.h> |
| 50 | #include <direct.h> | 50 | #include <direct.h> |
| 51 | #endif /* WINDOWSNT */ | 51 | #endif /* WINDOWSNT */ |
| @@ -70,6 +70,8 @@ int scan_file (char *filename); | |||
| 70 | int scan_lisp_file (const char *filename, const char *mode); | 70 | int scan_lisp_file (const char *filename, const char *mode); |
| 71 | int scan_c_file (char *filename, const char *mode); | 71 | int scan_c_file (char *filename, const char *mode); |
| 72 | void fatal (const char *s1, const char *s2) NO_RETURN; | 72 | void fatal (const char *s1, const char *s2) NO_RETURN; |
| 73 | void start_globals (void); | ||
| 74 | void write_globals (void); | ||
| 73 | 75 | ||
| 74 | #ifdef MSDOS | 76 | #ifdef MSDOS |
| 75 | /* s/msdos.h defines this as sys_chdir, but we're not linking with the | 77 | /* s/msdos.h defines this as sys_chdir, but we're not linking with the |
| @@ -85,6 +87,9 @@ FILE *outfile; | |||
| 85 | /* Name this program was invoked with. */ | 87 | /* Name this program was invoked with. */ |
| 86 | char *progname; | 88 | char *progname; |
| 87 | 89 | ||
| 90 | /* Nonzero if this invocation is generating globals.h. */ | ||
| 91 | int generate_globals; | ||
| 92 | |||
| 88 | /* Print error message. `s1' is printf control string, `s2' is arg for it. */ | 93 | /* Print error message. `s1' is printf control string, `s2' is arg for it. */ |
| 89 | 94 | ||
| 90 | /* VARARGS1 */ | 95 | /* VARARGS1 */ |
| @@ -116,6 +121,18 @@ xmalloc (unsigned int size) | |||
| 116 | fatal ("virtual memory exhausted", 0); | 121 | fatal ("virtual memory exhausted", 0); |
| 117 | return result; | 122 | return result; |
| 118 | } | 123 | } |
| 124 | |||
| 125 | /* Like realloc but get fatal error if memory is exhausted. */ | ||
| 126 | |||
| 127 | void * | ||
| 128 | xrealloc (void *arg, unsigned int size) | ||
| 129 | { | ||
| 130 | void *result = (void *) realloc (arg, size); | ||
| 131 | if (result == NULL) | ||
| 132 | fatal ("virtual memory exhausted", 0); | ||
| 133 | return result; | ||
| 134 | } | ||
| 135 | |||
| 119 | 136 | ||
| 120 | int | 137 | int |
| 121 | main (int argc, char **argv) | 138 | main (int argc, char **argv) |
| @@ -164,10 +181,18 @@ main (int argc, char **argv) | |||
| 164 | } | 181 | } |
| 165 | i += 2; | 182 | i += 2; |
| 166 | } | 183 | } |
| 184 | if (argc > i && !strcmp (argv[i], "-g")) | ||
| 185 | { | ||
| 186 | generate_globals = 1; | ||
| 187 | ++i; | ||
| 188 | } | ||
| 167 | 189 | ||
| 168 | if (outfile == 0) | 190 | if (outfile == 0) |
| 169 | fatal ("No output file specified", ""); | 191 | fatal ("No output file specified", ""); |
| 170 | 192 | ||
| 193 | if (generate_globals) | ||
| 194 | start_globals (); | ||
| 195 | |||
| 171 | first_infile = i; | 196 | first_infile = i; |
| 172 | for (; i < argc; i++) | 197 | for (; i < argc; i++) |
| 173 | { | 198 | { |
| @@ -179,6 +204,10 @@ main (int argc, char **argv) | |||
| 179 | if (j == i) | 204 | if (j == i) |
| 180 | err_count += scan_file (argv[i]); | 205 | err_count += scan_file (argv[i]); |
| 181 | } | 206 | } |
| 207 | |||
| 208 | if (err_count == 0 && generate_globals) | ||
| 209 | write_globals (); | ||
| 210 | |||
| 182 | return (err_count > 0 ? EXIT_FAILURE : EXIT_SUCCESS); | 211 | return (err_count > 0 ? EXIT_FAILURE : EXIT_SUCCESS); |
| 183 | } | 212 | } |
| 184 | 213 | ||
| @@ -208,7 +237,8 @@ scan_file (char *filename) | |||
| 208 | 237 | ||
| 209 | size_t len = strlen (filename); | 238 | size_t len = strlen (filename); |
| 210 | 239 | ||
| 211 | put_filename (filename); | 240 | if (!generate_globals) |
| 241 | put_filename (filename); | ||
| 212 | if (len > 4 && !strcmp (filename + len - 4, ".elc")) | 242 | if (len > 4 && !strcmp (filename + len - 4, ".elc")) |
| 213 | return scan_lisp_file (filename, READ_BINARY); | 243 | return scan_lisp_file (filename, READ_BINARY); |
| 214 | else if (len > 3 && !strcmp (filename + len - 3, ".el")) | 244 | else if (len > 3 && !strcmp (filename + len - 3, ".el")) |
| @@ -216,6 +246,14 @@ scan_file (char *filename) | |||
| 216 | else | 246 | else |
| 217 | return scan_c_file (filename, READ_TEXT); | 247 | return scan_c_file (filename, READ_TEXT); |
| 218 | } | 248 | } |
| 249 | |||
| 250 | void | ||
| 251 | start_globals (void) | ||
| 252 | { | ||
| 253 | fprintf (outfile, "/* This file was auto-generated by make-docfile. */\n"); | ||
| 254 | fprintf (outfile, "/* DO NOT EDIT. */\n"); | ||
| 255 | fprintf (outfile, "struct emacs_globals {\n"); | ||
| 256 | } | ||
| 219 | 257 | ||
| 220 | char buf[128]; | 258 | char buf[128]; |
| 221 | 259 | ||
| @@ -517,6 +555,98 @@ write_c_args (FILE *out, char *func, char *buf, int minargs, int maxargs) | |||
| 517 | putc (')', out); | 555 | putc (')', out); |
| 518 | } | 556 | } |
| 519 | 557 | ||
| 558 | /* The types of globals. */ | ||
| 559 | enum global_type | ||
| 560 | { | ||
| 561 | EMACS_INTEGER, | ||
| 562 | BOOLEAN, | ||
| 563 | LISP_OBJECT, | ||
| 564 | INVALID | ||
| 565 | }; | ||
| 566 | |||
| 567 | /* A single global. */ | ||
| 568 | struct global | ||
| 569 | { | ||
| 570 | enum global_type type; | ||
| 571 | char *name; | ||
| 572 | }; | ||
| 573 | |||
| 574 | /* All the variable names we saw while scanning C sources in `-g' | ||
| 575 | mode. */ | ||
| 576 | int num_globals; | ||
| 577 | int num_globals_allocated; | ||
| 578 | struct global *globals; | ||
| 579 | |||
| 580 | static void | ||
| 581 | add_global (enum global_type type, char *name) | ||
| 582 | { | ||
| 583 | /* Ignore the one non-symbol that can occur. */ | ||
| 584 | if (strcmp (name, "...")) | ||
| 585 | { | ||
| 586 | ++num_globals; | ||
| 587 | |||
| 588 | if (num_globals_allocated == 0) | ||
| 589 | { | ||
| 590 | num_globals_allocated = 100; | ||
| 591 | globals = xmalloc (num_globals_allocated * sizeof (struct global)); | ||
| 592 | } | ||
| 593 | else if (num_globals == num_globals_allocated) | ||
| 594 | { | ||
| 595 | num_globals_allocated *= 2; | ||
| 596 | globals = xrealloc (globals, | ||
| 597 | num_globals_allocated * sizeof (struct global)); | ||
| 598 | } | ||
| 599 | |||
| 600 | globals[num_globals - 1].type = type; | ||
| 601 | globals[num_globals - 1].name = name; | ||
| 602 | } | ||
| 603 | } | ||
| 604 | |||
| 605 | static int | ||
| 606 | compare_globals (const void *a, const void *b) | ||
| 607 | { | ||
| 608 | const struct global *ga = a; | ||
| 609 | const struct global *gb = b; | ||
| 610 | return strcmp (ga->name, gb->name); | ||
| 611 | } | ||
| 612 | |||
| 613 | void | ||
| 614 | write_globals (void) | ||
| 615 | { | ||
| 616 | int i; | ||
| 617 | qsort (globals, num_globals, sizeof (struct global), compare_globals); | ||
| 618 | for (i = 0; i < num_globals; ++i) | ||
| 619 | { | ||
| 620 | char *type; | ||
| 621 | |||
| 622 | switch (globals[i].type) | ||
| 623 | { | ||
| 624 | case EMACS_INTEGER: | ||
| 625 | type = "EMACS_INT"; | ||
| 626 | break; | ||
| 627 | case BOOLEAN: | ||
| 628 | type = "int"; | ||
| 629 | break; | ||
| 630 | case LISP_OBJECT: | ||
| 631 | type = "Lisp_Object"; | ||
| 632 | break; | ||
| 633 | default: | ||
| 634 | fatal ("not a recognized DEFVAR_", 0); | ||
| 635 | } | ||
| 636 | |||
| 637 | fprintf (outfile, " %s f_%s;\n", type, globals[i].name); | ||
| 638 | fprintf (outfile, "#define %s globals.f_%s\n", | ||
| 639 | globals[i].name, globals[i].name); | ||
| 640 | while (i + 1 < num_globals | ||
| 641 | && !strcmp (globals[i].name, globals[i + 1].name)) | ||
| 642 | ++i; | ||
| 643 | } | ||
| 644 | |||
| 645 | fprintf (outfile, "};\n"); | ||
| 646 | fprintf (outfile, "extern struct emacs_globals globals;\n"); | ||
| 647 | } | ||
| 648 | |||
| 649 | |||
| 520 | /* Read through a c file. If a .o file is named, | 650 | /* Read through a c file. If a .o file is named, |
| 521 | the corresponding .c or .m file is read instead. | 651 | the corresponding .c or .m file is read instead. |
| 522 | Looks for DEFUN constructs such as are defined in ../src/lisp.h. | 652 | Looks for DEFUN constructs such as are defined in ../src/lisp.h. |
| @@ -533,6 +663,7 @@ scan_c_file (char *filename, const char *mode) | |||
| 533 | register int defvarflag; | 663 | register int defvarflag; |
| 534 | int minargs, maxargs; | 664 | int minargs, maxargs; |
| 535 | int extension = filename[strlen (filename) - 1]; | 665 | int extension = filename[strlen (filename) - 1]; |
| 666 | enum global_type type; | ||
| 536 | 667 | ||
| 537 | if (extension == 'o') | 668 | if (extension == 'o') |
| 538 | filename[strlen (filename) - 1] = 'c'; | 669 | filename[strlen (filename) - 1] = 'c'; |
| @@ -599,8 +730,23 @@ scan_c_file (char *filename, const char *mode) | |||
| 599 | 730 | ||
| 600 | c = getc (infile); | 731 | c = getc (infile); |
| 601 | defvarperbufferflag = (c == 'P'); | 732 | defvarperbufferflag = (c == 'P'); |
| 733 | if (generate_globals) | ||
| 734 | { | ||
| 735 | if (c == 'I') | ||
| 736 | type = EMACS_INTEGER; | ||
| 737 | else if (c == 'L') | ||
| 738 | type = LISP_OBJECT; | ||
| 739 | else if (c == 'B') | ||
| 740 | type = BOOLEAN; | ||
| 741 | else | ||
| 742 | type = INVALID; | ||
| 743 | } | ||
| 602 | 744 | ||
| 603 | c = getc (infile); | 745 | c = getc (infile); |
| 746 | /* We need to distinguish between DEFVAR_BOOL and | ||
| 747 | DEFVAR_BUFFER_DEFAULTS. */ | ||
| 748 | if (generate_globals && type == BOOLEAN && c != 'O') | ||
| 749 | type = INVALID; | ||
| 604 | } | 750 | } |
| 605 | else if (c == 'D') | 751 | else if (c == 'D') |
| 606 | { | 752 | { |
| @@ -617,6 +763,10 @@ scan_c_file (char *filename, const char *mode) | |||
| 617 | } | 763 | } |
| 618 | else continue; | 764 | else continue; |
| 619 | 765 | ||
| 766 | if (generate_globals && (!defvarflag || defvarperbufferflag | ||
| 767 | || type == INVALID)) | ||
| 768 | continue; | ||
| 769 | |||
| 620 | while (c != '(') | 770 | while (c != '(') |
| 621 | { | 771 | { |
| 622 | if (c < 0) | 772 | if (c < 0) |
| @@ -630,6 +780,34 @@ scan_c_file (char *filename, const char *mode) | |||
| 630 | continue; | 780 | continue; |
| 631 | c = read_c_string_or_comment (infile, -1, 0, 0); | 781 | c = read_c_string_or_comment (infile, -1, 0, 0); |
| 632 | 782 | ||
| 783 | if (generate_globals) | ||
| 784 | { | ||
| 785 | int i = 0; | ||
| 786 | char *name; | ||
| 787 | |||
| 788 | /* Skip "," and whitespace. */ | ||
| 789 | do | ||
| 790 | { | ||
| 791 | c = getc (infile); | ||
| 792 | } | ||
| 793 | while (c == ',' || c == ' ' || c == '\t' || c == '\n' || c == '\r'); | ||
| 794 | |||
| 795 | /* Read in the identifier. */ | ||
| 796 | do | ||
| 797 | { | ||
| 798 | buf[i++] = c; | ||
| 799 | c = getc (infile); | ||
| 800 | } | ||
| 801 | while (! (c == ',' || c == ' ' || c == '\t' || | ||
| 802 | c == '\n' || c == '\r')); | ||
| 803 | buf[i] = '\0'; | ||
| 804 | |||
| 805 | name = xmalloc (i + 1); | ||
| 806 | memcpy (name, buf, i + 1); | ||
| 807 | add_global (type, name); | ||
| 808 | continue; | ||
| 809 | } | ||
| 810 | |||
| 633 | /* DEFVAR_LISP ("name", addr, "doc") | 811 | /* DEFVAR_LISP ("name", addr, "doc") |
| 634 | DEFVAR_LISP ("name", addr /\* doc *\/) | 812 | DEFVAR_LISP ("name", addr /\* doc *\/) |
| 635 | DEFVAR_LISP ("name", addr, doc: /\* doc *\/) */ | 813 | DEFVAR_LISP ("name", addr, doc: /\* doc *\/) */ |
| @@ -845,6 +1023,9 @@ scan_lisp_file (const char *filename, const char *mode) | |||
| 845 | register int c; | 1023 | register int c; |
| 846 | char *saved_string = 0; | 1024 | char *saved_string = 0; |
| 847 | 1025 | ||
| 1026 | if (generate_globals) | ||
| 1027 | fatal ("scanning lisp file when -g specified", 0); | ||
| 1028 | |||
| 848 | infile = fopen (filename, mode); | 1029 | infile = fopen (filename, mode); |
| 849 | if (infile == NULL) | 1030 | if (infile == NULL) |
| 850 | { | 1031 | { |
diff --git a/lib/Makefile.in b/lib/Makefile.in index f45a086bb1f..bdc405a505f 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in | |||
| @@ -361,6 +361,7 @@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ | |||
| 361 | NEXT_TIME_H = @NEXT_TIME_H@ | 361 | NEXT_TIME_H = @NEXT_TIME_H@ |
| 362 | NEXT_UNISTD_H = @NEXT_UNISTD_H@ | 362 | NEXT_UNISTD_H = @NEXT_UNISTD_H@ |
| 363 | NS_OBJ = @NS_OBJ@ | 363 | NS_OBJ = @NS_OBJ@ |
| 364 | NS_OBJC_OBJ = @NS_OBJC_OBJ@ | ||
| 364 | NS_SUPPORT = @NS_SUPPORT@ | 365 | NS_SUPPORT = @NS_SUPPORT@ |
| 365 | OBJEXT = @OBJEXT@ | 366 | OBJEXT = @OBJEXT@ |
| 366 | OLDXMENU = @OLDXMENU@ | 367 | OLDXMENU = @OLDXMENU@ |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8826f884560..1a69d98f17e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,46 @@ | |||
| 1 | 2011-02-10 Ken Manheimer <ken.manheimer@gmail.com> | ||
| 2 | |||
| 3 | * allout.el: Synopsis: Change allout user configuration so | ||
| 4 | auto-activation is controlled solely by customization | ||
| 5 | `allout-auto-activation'. | ||
| 6 | |||
| 7 | (allout-auto-activation-helper) (allout-setup): New autoloads | ||
| 8 | implement new custom set procedure for allout-auto-activation. | ||
| 9 | Also, explicitly invoke | ||
| 10 | (allout-setup) after allout-auto-activation is custom-defined, to | ||
| 11 | effect the settings in emacs sessions besides the few where | ||
| 12 | allout-auto-activation customization is donea. | ||
| 13 | (allout-auto-activation): Use allout-auto-activation-helper to | ||
| 14 | :set. Revise the docstring. | ||
| 15 | (allout-init): Reduce functionality to just customizing | ||
| 16 | allout-auto-activation, and mark obsolete. | ||
| 17 | (allout-mode): Respect string values for allout-auto-activation. | ||
| 18 | Run allout-after-copy-or-kill-hook without any args. | ||
| 19 | (allout-mode) (allout-layout) (allout-default-layout) | ||
| 20 | (outlineify-sticky): Adjust docstring for new scheme. | ||
| 21 | (allout-after-copy-or-kill-hook): No arguments - hook implementers | ||
| 22 | should concentrate on the kill ring. | ||
| 23 | |||
| 24 | 2011-02-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 25 | |||
| 26 | * progmodes/sh-script.el (sh-font-lock-open-heredoc): Fix case | ||
| 27 | of here-doc that immediately follows a comment. | ||
| 28 | |||
| 29 | 2011-02-09 Deniz Dogan <deniz.a.m.dogan@gmail.com> | ||
| 30 | |||
| 31 | * net/rcirc.el (rcirc-ctcp-sender-PING): Simplifying. | ||
| 32 | |||
| 33 | * net/rcirc.el (rcirc-cmd-ctcp): Use dedicated function when | ||
| 34 | available. | ||
| 35 | (rcirc-ctcp-sender-PING): New function. | ||
| 36 | |||
| 37 | 2011-02-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 38 | |||
| 39 | * obsolete/pc-select.el: Rename from emulation/pc-select.el (bug#7940). | ||
| 40 | Remove the mark/nomark handling, and activate shift-select-mode instead. | ||
| 41 | |||
| 42 | * obsolete/pc-mode.el: Rename from emulation/pc-mode.el. | ||
| 43 | |||
| 1 | 2011-02-07 Jay Belanger <jay.p.belanger@gmail.com> | 44 | 2011-02-07 Jay Belanger <jay.p.belanger@gmail.com> |
| 2 | 45 | ||
| 3 | * calc/calc-units.el (math-logunits-quant): Add support for | 46 | * calc/calc-units.el (math-logunits-quant): Add support for |
diff --git a/lisp/allout.el b/lisp/allout.el index 49c2dba322a..5d87415a57f 100644 --- a/lisp/allout.el +++ b/lisp/allout.el | |||
| @@ -62,18 +62,15 @@ | |||
| 62 | ;; The latest development version and helpful notes are available at | 62 | ;; The latest development version and helpful notes are available at |
| 63 | ;; http://myriadicity.net/Sundry/EmacsAllout . | 63 | ;; http://myriadicity.net/Sundry/EmacsAllout . |
| 64 | ;; | 64 | ;; |
| 65 | ;; The outline menubar additions provide quick reference to many of | 65 | ;; The outline menubar additions provide quick reference to many of the |
| 66 | ;; the features, and see the docstring of the variable `allout-init' | 66 | ;; features. See the docstring of the variables `allout-layout' and |
| 67 | ;; for instructions on priming your Emacs session for automatic | ||
| 68 | ;; activation of allout-mode. | ||
| 69 | ;; | ||
| 70 | ;; See the docstring of the variables `allout-layout' and | ||
| 71 | ;; `allout-auto-activation' for details on automatic activation of | 67 | ;; `allout-auto-activation' for details on automatic activation of |
| 72 | ;; `allout-mode' as a minor mode. (It has changed since allout | 68 | ;; `allout-mode' as a minor mode. (`allout-init' is deprecated in favor of |
| 73 | ;; 3.x, for those of you that depend on the old method.) | 69 | ;; a purely customization-based method.) |
| 74 | ;; | 70 | ;; |
| 75 | ;; Note -- the lines beginning with `;;;_' are outline topic headers. | 71 | ;; Note -- the lines beginning with `;;;_' are outline topic headers. |
| 76 | ;; Just `ESC-x eval-buffer' to give it a whirl. | 72 | ;; Customize `allout-auto-activation' to enable, then revisit this |
| 73 | ;; buffer to give it a whirl. | ||
| 77 | 74 | ||
| 78 | ;; ken manheimer (ken dot manheimer at gmail dot com) | 75 | ;; ken manheimer (ken dot manheimer at gmail dot com) |
| 79 | 76 | ||
| @@ -271,35 +268,56 @@ See the existing keys for examples." | |||
| 271 | :set 'allout-compose-and-institute-keymap | 268 | :set 'allout-compose-and-institute-keymap |
| 272 | ) | 269 | ) |
| 273 | 270 | ||
| 271 | ;;;_ > allout-auto-activation-helper (var value) | ||
| 272 | ;;;###autoload | ||
| 273 | (defun allout-auto-activation-helper (var value) | ||
| 274 | "Institute `allout-auto-activation'. | ||
| 275 | |||
| 276 | Intended to be used as the `allout-auto-activation' :set function." | ||
| 277 | (set-default var value) | ||
| 278 | (allout-setup)) | ||
| 279 | ;;;_ > allout-setup () | ||
| 280 | ;;;###autoload | ||
| 281 | (defun allout-setup () | ||
| 282 | "Do fundamental emacs session for allout auto-activation. | ||
| 283 | |||
| 284 | Establishes allout processing as part of visiting a file if | ||
| 285 | `allout-auto-activation' is non-nil, or removes it otherwise. | ||
| 286 | |||
| 287 | The proper way to use this is through customizing the setting of | ||
| 288 | `allout-auto-activation'." | ||
| 289 | (if (not allout-auto-activation) | ||
| 290 | (remove-hook 'find-file-hook 'allout-find-file-hook) | ||
| 291 | (add-hook 'find-file-hook 'allout-find-file-hook))) | ||
| 274 | ;;;_ = allout-auto-activation | 292 | ;;;_ = allout-auto-activation |
| 293 | ;;;###autoload | ||
| 275 | (defcustom allout-auto-activation nil | 294 | (defcustom allout-auto-activation nil |
| 276 | "Regulates auto-activation modality of allout outlines -- see `allout-init'. | 295 | "Configure allout outline mode auto-activation. |
| 277 | 296 | ||
| 278 | Setq-default by `allout-init' to regulate whether or not allout | 297 | Control whether and how allout outline mode is automatically |
| 279 | outline mode is automatically activated when the buffer-specific | 298 | activated when files are visited with non-nil buffer-specific |
| 280 | variable `allout-layout' is non-nil, and whether or not the layout | 299 | file variable `allout-layout'. |
| 281 | dictated by `allout-layout' should be imposed on mode activation. | ||
| 282 | 300 | ||
| 283 | With value t, auto-mode-activation and auto-layout are enabled. | 301 | When allout-auto-activation is \"On\" \(t), allout mode is |
| 284 | \(This also depends on `allout-find-file-hook' being installed in | 302 | activated in buffers with non-nil `allout-layout', and the |
| 285 | `find-file-hook', which is also done by `allout-init'.) | 303 | specified layout is applied. |
| 286 | 304 | ||
| 287 | With value `ask', auto-mode-activation is enabled, and endorsement for | 305 | With value \"ask\", auto-mode-activation is enabled, and endorsement for |
| 288 | performing auto-layout is asked of the user each time. | 306 | performing auto-layout is asked of the user each time. |
| 289 | 307 | ||
| 290 | With value `activate', only auto-mode-activation is enabled, | 308 | With value \"activate\", only auto-mode-activation is enabled. |
| 291 | auto-layout is not. | 309 | Auto-layout is not. |
| 292 | 310 | ||
| 293 | With value nil, neither auto-mode-activation nor auto-layout are | 311 | With value nil, neither auto-mode-activation nor auto-layout are |
| 294 | enabled. | 312 | enabled, and allout auto-activation processing is removed from |
| 295 | 313 | file visiting activities." | |
| 296 | See the docstring for `allout-init' for the proper interface to | 314 | :set 'allout-auto-activation-helper |
| 297 | this variable." | ||
| 298 | :type '(choice (const :tag "On" t) | 315 | :type '(choice (const :tag "On" t) |
| 299 | (const :tag "Ask about layout" "ask") | 316 | (const :tag "Ask about layout" "ask") |
| 300 | (const :tag "Mode only" "activate") | 317 | (const :tag "Mode only" "activate") |
| 301 | (const :tag "Off" nil)) | 318 | (const :tag "Off" nil)) |
| 302 | :group 'allout) | 319 | :group 'allout) |
| 320 | (allout-setup) | ||
| 303 | ;;;_ = allout-default-layout | 321 | ;;;_ = allout-default-layout |
| 304 | (defcustom allout-default-layout '(-2 : 0) | 322 | (defcustom allout-default-layout '(-2 : 0) |
| 305 | "Default allout outline layout specification. | 323 | "Default allout outline layout specification. |
| @@ -311,7 +329,7 @@ layout specifications. | |||
| 311 | A list value specifies a default layout for the current buffer, | 329 | A list value specifies a default layout for the current buffer, |
| 312 | to be applied upon activation of `allout-mode'. Any non-nil | 330 | to be applied upon activation of `allout-mode'. Any non-nil |
| 313 | value will automatically trigger `allout-mode', provided | 331 | value will automatically trigger `allout-mode', provided |
| 314 | `allout-init' has been called to enable this behavior. | 332 | `allout-auto-activation' has been customized to enable it. |
| 315 | 333 | ||
| 316 | The types of elements in the layout specification are: | 334 | The types of elements in the layout specification are: |
| 317 | 335 | ||
| @@ -890,10 +908,10 @@ For details, see `allout-toggle-current-subtree-encryption's docstring." | |||
| 890 | (defvar allout-layout nil ; LEAVE GLOBAL VALUE NIL -- see docstring. | 908 | (defvar allout-layout nil ; LEAVE GLOBAL VALUE NIL -- see docstring. |
| 891 | "Buffer-specific setting for allout layout. | 909 | "Buffer-specific setting for allout layout. |
| 892 | 910 | ||
| 893 | In buffers where this is non-nil (and if `allout-init' has been run, to | 911 | In buffers where this is non-nil \(and if `allout-auto-activation' |
| 894 | enable this behavior), `allout-mode' will be automatically activated. The | 912 | has been customized to enable this behavior), `allout-mode' will be |
| 895 | layout dictated by the value will be used to set the initial exposure when | 913 | automatically activated. The layout dictated by the value will be used to |
| 896 | `allout-mode' is activated. | 914 | set the initial exposure when `allout-mode' is activated. |
| 897 | 915 | ||
| 898 | \*You should not setq-default this variable non-nil unless you want every | 916 | \*You should not setq-default this variable non-nil unless you want every |
| 899 | visited file to be treated as an allout file.* | 917 | visited file to be treated as an allout file.* |
| @@ -906,9 +924,9 @@ example, the following lines at the bottom of an Emacs Lisp file: | |||
| 906 | ;;;End: | 924 | ;;;End: |
| 907 | 925 | ||
| 908 | dictate activation of `allout-mode' mode when the file is visited | 926 | dictate activation of `allout-mode' mode when the file is visited |
| 909 | \(presuming allout-init was already run), followed by the | 927 | \(presuming proper `allout-auto-activation' customization), |
| 910 | equivalent of `(allout-expose-topic 0 : -1 -1 0)'. (This is | 928 | followed by the equivalent of `(allout-expose-topic 0 : -1 -1 0)'. |
| 911 | the layout used for the allout.el source file.) | 929 | \(This is the layout used for the allout.el source file.) |
| 912 | 930 | ||
| 913 | `allout-default-layout' describes the specification format. | 931 | `allout-default-layout' describes the specification format. |
| 914 | `allout-layout' can additionally have the value `t', in which | 932 | `allout-layout' can additionally have the value `t', in which |
| @@ -1441,9 +1459,7 @@ This hook might be invoked multiple times by a single command.") | |||
| 1441 | (defvar allout-after-copy-or-kill-hook nil | 1459 | (defvar allout-after-copy-or-kill-hook nil |
| 1442 | "*Hook that's run after copying outline text. | 1460 | "*Hook that's run after copying outline text. |
| 1443 | 1461 | ||
| 1444 | Functions on the hook should take two arguments: | 1462 | Functions on the hook should not take any arguments.") |
| 1445 | |||
| 1446 | START, END -- integers indicating the span containing the copied text.") | ||
| 1447 | ;;;_ = allout-outside-normal-auto-fill-function | 1463 | ;;;_ = allout-outside-normal-auto-fill-function |
| 1448 | (defvar allout-outside-normal-auto-fill-function nil | 1464 | (defvar allout-outside-normal-auto-fill-function nil |
| 1449 | "Value of normal-auto-fill-function outside of allout mode. | 1465 | "Value of normal-auto-fill-function outside of allout mode. |
| @@ -1621,84 +1637,19 @@ non-nil in a lasting way.") | |||
| 1621 | "If t, `allout-mode's last deactivation was deliberate. | 1637 | "If t, `allout-mode's last deactivation was deliberate. |
| 1622 | So `allout-post-command-business' should not reactivate it...") | 1638 | So `allout-post-command-business' should not reactivate it...") |
| 1623 | (make-variable-buffer-local 'allout-explicitly-deactivated) | 1639 | (make-variable-buffer-local 'allout-explicitly-deactivated) |
| 1624 | ;;;_ > allout-init (&optional mode) | 1640 | ;;;_ > allout-init (mode) |
| 1625 | (defun allout-init (&optional mode) | 1641 | (defun allout-init (mode) |
| 1626 | "Prime `allout-mode' to enable/disable auto-activation, wrt `allout-layout'. | 1642 | "DEPRECATED - configure allout activation by customizing |
| 1627 | 1643 | `allout-auto-activation'. This function remains around, limited | |
| 1628 | MODE is one of the following symbols: | 1644 | from what it did before, for backwards compatability. |
| 1629 | 1645 | ||
| 1630 | - nil (or no argument) deactivate auto-activation/layout; | 1646 | MODE is the activation mode - see `allout-auto-activation' for |
| 1631 | - `activate', enable auto-activation only; | 1647 | valid values." |
| 1632 | - `ask', enable auto-activation, and enable auto-layout but with | 1648 | |
| 1633 | confirmation for layout operation solicited from user each time; | 1649 | (custom-set-variables (list 'allout-auto-activation (format "%s" mode))) |
| 1634 | - `report', just report and return the current auto-activation state; | 1650 | (format "%s" mode)) |
| 1635 | - anything else (eg, t) for auto-activation and auto-layout, without | 1651 | (make-obsolete 'allout-init |
| 1636 | any confirmation check. | 1652 | "customize 'allout-auto-activation' instead." "23.3") |
| 1637 | |||
| 1638 | Use this function to setup your Emacs session for automatic activation | ||
| 1639 | of allout outline mode, contingent to the buffer-specific setting of | ||
| 1640 | the `allout-layout' variable. (See `allout-layout' and | ||
| 1641 | `allout-expose-topic' docstrings for more details on auto layout). | ||
| 1642 | |||
| 1643 | `allout-init' works by setting up (or removing) the `allout-mode' | ||
| 1644 | find-file-hook, and giving `allout-auto-activation' a suitable | ||
| 1645 | setting. | ||
| 1646 | |||
| 1647 | To prime your Emacs session for full auto-outline operation, include | ||
| 1648 | the following two lines in your Emacs init file: | ||
| 1649 | |||
| 1650 | \(require 'allout) | ||
| 1651 | \(allout-init t)" | ||
| 1652 | |||
| 1653 | (interactive) | ||
| 1654 | (if (allout-called-interactively-p) | ||
| 1655 | (progn | ||
| 1656 | (setq mode | ||
| 1657 | (completing-read | ||
| 1658 | (concat "Select outline auto setup mode " | ||
| 1659 | "(empty for report, ? for options) ") | ||
| 1660 | '(("nil")("full")("activate")("deactivate") | ||
| 1661 | ("ask") ("report") ("")) | ||
| 1662 | nil | ||
| 1663 | t)) | ||
| 1664 | (if (string= mode "") | ||
| 1665 | (setq mode 'report) | ||
| 1666 | (setq mode (intern-soft mode))))) | ||
| 1667 | (let | ||
| 1668 | ;; convenience aliases, for consistent ref to respective vars: | ||
| 1669 | ((hook 'allout-find-file-hook) | ||
| 1670 | (find-file-hook-var-name (if (boundp 'find-file-hook) | ||
| 1671 | 'find-file-hook | ||
| 1672 | 'find-file-hooks)) | ||
| 1673 | (curr-mode 'allout-auto-activation)) | ||
| 1674 | |||
| 1675 | (cond ((not mode) | ||
| 1676 | (set find-file-hook-var-name | ||
| 1677 | (delq hook (symbol-value find-file-hook-var-name))) | ||
| 1678 | (if (allout-called-interactively-p) | ||
| 1679 | (message "Allout outline mode auto-activation inhibited."))) | ||
| 1680 | ((eq mode 'report) | ||
| 1681 | (if (not (memq hook (symbol-value find-file-hook-var-name))) | ||
| 1682 | (allout-init nil) | ||
| 1683 | ;; Just punt and use the reports from each of the modes: | ||
| 1684 | (allout-init (symbol-value curr-mode)))) | ||
| 1685 | (t (add-hook find-file-hook-var-name hook) | ||
| 1686 | (set curr-mode ; `set', not `setq'! | ||
| 1687 | (cond ((eq mode 'activate) | ||
| 1688 | (message | ||
| 1689 | "Outline mode auto-activation enabled.") | ||
| 1690 | 'activate) | ||
| 1691 | ((eq mode 'report) | ||
| 1692 | ;; Return the current mode setting: | ||
| 1693 | (allout-init mode)) | ||
| 1694 | ((eq mode 'ask) | ||
| 1695 | (message | ||
| 1696 | (concat "Outline mode auto-activation and " | ||
| 1697 | "-layout (upon confirmation) enabled.")) | ||
| 1698 | 'ask) | ||
| 1699 | ((message | ||
| 1700 | "Outline mode auto-activation and -layout enabled.") | ||
| 1701 | 'full))))))) | ||
| 1702 | ;;;_ > allout-setup-menubar () | 1653 | ;;;_ > allout-setup-menubar () |
| 1703 | (defun allout-setup-menubar () | 1654 | (defun allout-setup-menubar () |
| 1704 | "Populate the current buffer's menubar with `allout-mode' stuff." | 1655 | "Populate the current buffer's menubar with `allout-mode' stuff." |
| @@ -1764,9 +1715,8 @@ and many other features. | |||
| 1764 | Below is a description of the key bindings, and then description | 1715 | Below is a description of the key bindings, and then description |
| 1765 | of special `allout-mode' features and terminology. See also the | 1716 | of special `allout-mode' features and terminology. See also the |
| 1766 | outline menubar additions for quick reference to many of the | 1717 | outline menubar additions for quick reference to many of the |
| 1767 | features, and see the docstring of the function `allout-init' for | 1718 | features. Customize `allout-auto-activation' to prepare your |
| 1768 | instructions on priming your emacs session for automatic | 1719 | emacs session for automatic activation of `allout-mode'. |
| 1769 | activation of `allout-mode'. | ||
| 1770 | 1720 | ||
| 1771 | The bindings are those listed in `allout-prefixed-keybindings' | 1721 | The bindings are those listed in `allout-prefixed-keybindings' |
| 1772 | and `allout-unprefixed-keybindings'. We recommend customizing | 1722 | and `allout-unprefixed-keybindings'. We recommend customizing |
| @@ -1850,7 +1800,8 @@ M-x outlineify-sticky Activate outline mode for current buffer, | |||
| 1850 | Like above 'copy-exposed', but convert topic | 1800 | Like above 'copy-exposed', but convert topic |
| 1851 | prefixes to section.subsection... numeric | 1801 | prefixes to section.subsection... numeric |
| 1852 | format. | 1802 | format. |
| 1853 | \\[eval-expression] (allout-init t) Setup Emacs session for outline mode | 1803 | \\[customize-variable] allout-auto-activation |
| 1804 | Prepare Emacs session for allout outline mode | ||
| 1854 | auto-activation. | 1805 | auto-activation. |
| 1855 | 1806 | ||
| 1856 | Topic Encryption | 1807 | Topic Encryption |
| @@ -2092,8 +2043,8 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be." | |||
| 2092 | (when (and allout-layout | 2043 | (when (and allout-layout |
| 2093 | allout-auto-activation | 2044 | allout-auto-activation |
| 2094 | use-layout | 2045 | use-layout |
| 2095 | (and (not (eq allout-auto-activation 'activate)) | 2046 | (and (not (string= allout-auto-activation "activate")) |
| 2096 | (if (eq allout-auto-activation 'ask) | 2047 | (if (string= allout-auto-activation "ask") |
| 2097 | (if (y-or-n-p (format "Expose %s with layout '%s'? " | 2048 | (if (y-or-n-p (format "Expose %s with layout '%s'? " |
| 2098 | (buffer-name) | 2049 | (buffer-name) |
| 2099 | use-layout)) | 2050 | use-layout)) |
| @@ -3448,7 +3399,7 @@ Returns the qualifying command, if any, else nil." | |||
| 3448 | (defun allout-find-file-hook () | 3399 | (defun allout-find-file-hook () |
| 3449 | "Activate `allout-mode' on non-nil `allout-auto-activation', `allout-layout'. | 3400 | "Activate `allout-mode' on non-nil `allout-auto-activation', `allout-layout'. |
| 3450 | 3401 | ||
| 3451 | See `allout-init' for setup instructions." | 3402 | See `allout-auto-activation' for setup instructions." |
| 3452 | (if (and allout-auto-activation | 3403 | (if (and allout-auto-activation |
| 3453 | (not (allout-mode-p)) | 3404 | (not (allout-mode-p)) |
| 3454 | allout-layout) | 3405 | allout-layout) |
| @@ -4394,7 +4345,7 @@ subtopics into siblings of the item." | |||
| 4394 | (if (and (not beg-hidden) (not end-hidden)) | 4345 | (if (and (not beg-hidden) (not end-hidden)) |
| 4395 | (allout-unprotected (kill-line arg)) | 4346 | (allout-unprotected (kill-line arg)) |
| 4396 | (kill-line arg)) | 4347 | (kill-line arg)) |
| 4397 | (run-hook-with-args 'allout-after-copy-or-kill-hook beg end) | 4348 | (run-hooks 'allout-after-copy-or-kill-hook) |
| 4398 | (allout-deannotate-hidden beg end) | 4349 | (allout-deannotate-hidden beg end) |
| 4399 | 4350 | ||
| 4400 | (if allout-numbered-bullet | 4351 | (if allout-numbered-bullet |
| @@ -4446,7 +4397,7 @@ Topic exposure is marked with text-properties, to be used by | |||
| 4446 | (unwind-protect ; for possible barf-if-buffer-read-only. | 4397 | (unwind-protect ; for possible barf-if-buffer-read-only. |
| 4447 | (allout-unprotected (kill-region beg end)) | 4398 | (allout-unprotected (kill-region beg end)) |
| 4448 | (allout-deannotate-hidden beg end) | 4399 | (allout-deannotate-hidden beg end) |
| 4449 | (run-hook-with-args 'allout-after-copy-or-kill-hook beg end) | 4400 | (run-hooks 'allout-after-copy-or-kill-hook) |
| 4450 | 4401 | ||
| 4451 | (save-excursion | 4402 | (save-excursion |
| 4452 | (allout-renumber-to-depth depth)) | 4403 | (allout-renumber-to-depth depth)) |
| @@ -4503,7 +4454,8 @@ Topic exposure is marked with text-properties, to be used by | |||
| 4503 | (allout-unprotected | 4454 | (allout-unprotected |
| 4504 | (let ((inhibit-read-only t) | 4455 | (let ((inhibit-read-only t) |
| 4505 | (buffer-undo-list t)) | 4456 | (buffer-undo-list t)) |
| 4506 | (remove-text-properties begin end '(allout-was-hidden t))))) | 4457 | (remove-text-properties begin (min end (point-max)) |
| 4458 | '(allout-was-hidden t))))) | ||
| 4507 | ;;;_ > allout-hide-by-annotation (begin end) | 4459 | ;;;_ > allout-hide-by-annotation (begin end) |
| 4508 | (defun allout-hide-by-annotation (begin end) | 4460 | (defun allout-hide-by-annotation (begin end) |
| 4509 | "Translate text properties indicating exposure status into actual exposure." | 4461 | "Translate text properties indicating exposure status into actual exposure." |
| @@ -6312,8 +6264,8 @@ save. See `allout-encrypt-unencrypted-on-saves' for more info." | |||
| 6312 | (defun outlineify-sticky (&optional arg) | 6264 | (defun outlineify-sticky (&optional arg) |
| 6313 | "Activate outline mode and establish file var so it is started subsequently. | 6265 | "Activate outline mode and establish file var so it is started subsequently. |
| 6314 | 6266 | ||
| 6315 | See doc-string for `allout-layout' and `allout-init' for details on | 6267 | See `allout-layout' and customization of `allout-auto-activation' |
| 6316 | setup for auto-startup." | 6268 | for details on preparing emacs for automatic allout activation." |
| 6317 | 6269 | ||
| 6318 | (interactive "P") | 6270 | (interactive "P") |
| 6319 | 6271 | ||
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el index 05bfa0f262e..e10dc10447c 100644 --- a/lisp/emacs-lisp/cl-loaddefs.el +++ b/lisp/emacs-lisp/cl-loaddefs.el | |||
| @@ -282,7 +282,7 @@ Not documented | |||
| 282 | ;;;;;; do-all-symbols do-symbols dotimes dolist do* do loop return-from | 282 | ;;;;;; do-all-symbols do-symbols dotimes dolist do* do loop return-from |
| 283 | ;;;;;; return block etypecase typecase ecase case load-time-value | 283 | ;;;;;; return block etypecase typecase ecase case load-time-value |
| 284 | ;;;;;; eval-when destructuring-bind function* defmacro* defun* gentemp | 284 | ;;;;;; eval-when destructuring-bind function* defmacro* defun* gentemp |
| 285 | ;;;;;; gensym) "cl-macs" "cl-macs.el" "8b2ce9c2ec0e273606bb37c333c4bdde") | 285 | ;;;;;; gensym) "cl-macs" "cl-macs.el" "0904b956872432ae7cc5fa9abcefce63") |
| 286 | ;;; Generated autoloads from cl-macs.el | 286 | ;;; Generated autoloads from cl-macs.el |
| 287 | 287 | ||
| 288 | (autoload 'gensym "cl-macs" "\ | 288 | (autoload 'gensym "cl-macs" "\ |
| @@ -389,7 +389,7 @@ This is equivalent to `(return-from nil RESULT)'. | |||
| 389 | 389 | ||
| 390 | (autoload 'return-from "cl-macs" "\ | 390 | (autoload 'return-from "cl-macs" "\ |
| 391 | Return from the block named NAME. | 391 | Return from the block named NAME. |
| 392 | This jump out to the innermost enclosing `(block NAME ...)' form, | 392 | This jumps out to the innermost enclosing `(block NAME ...)' form, |
| 393 | returning RESULT from that form (or nil if RESULT is omitted). | 393 | returning RESULT from that form (or nil if RESULT is omitted). |
| 394 | This is compatible with Common Lisp, but note that `defun' and | 394 | This is compatible with Common Lisp, but note that `defun' and |
| 395 | `defmacro' do not create implicit blocks as they do in Common Lisp. | 395 | `defmacro' do not create implicit blocks as they do in Common Lisp. |
diff --git a/lisp/emulation/pc-select.el b/lisp/emulation/pc-select.el deleted file mode 100644 index 76562dd75ca..00000000000 --- a/lisp/emulation/pc-select.el +++ /dev/null | |||
| @@ -1,985 +0,0 @@ | |||
| 1 | ;;; pc-select.el --- emulate mark, cut, copy and paste from Motif | ||
| 2 | ;;; (or MAC GUI or MS-windoze (bah)) look-and-feel | ||
| 3 | ;;; including key bindings. | ||
| 4 | |||
| 5 | ;; Copyright (C) 1995-1997, 2000-2011 Free Software Foundation, Inc. | ||
| 6 | |||
| 7 | ;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE> | ||
| 8 | ;; Keywords: convenience emulations | ||
| 9 | ;; Created: 26 Sep 1995 | ||
| 10 | |||
| 11 | ;; This file is part of GNU Emacs. | ||
| 12 | |||
| 13 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 14 | ;; it under the terms of the GNU General Public License as published by | ||
| 15 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 16 | ;; (at your option) any later version. | ||
| 17 | |||
| 18 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 21 | ;; GNU General Public License for more details. | ||
| 22 | |||
| 23 | ;; You should have received a copy of the GNU General Public License | ||
| 24 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 25 | |||
| 26 | ;;; Commentary: | ||
| 27 | |||
| 28 | ;; This package emulates the mark, copy, cut and paste look-and-feel of motif | ||
| 29 | ;; programs (which is the same as the MAC gui and (sorry for that) MS-Windows). | ||
| 30 | ;; It modifies the keybindings of the cursor keys and the next, prior, | ||
| 31 | ;; home and end keys. They will modify mark-active. | ||
| 32 | ;; You can still get the old behavior of cursor moving with the | ||
| 33 | ;; control sequences C-f, C-b, etc. | ||
| 34 | ;; This package uses transient-mark-mode and | ||
| 35 | ;; delete-selection-mode. | ||
| 36 | ;; | ||
| 37 | ;; In addition to that all key-bindings from the pc-mode are | ||
| 38 | ;; done here too (as suggested by RMS). | ||
| 39 | ;; | ||
| 40 | ;; As I found out after I finished the first version, s-region.el tries | ||
| 41 | ;; to do the same.... But my code is a little more complete and using | ||
| 42 | ;; delete-selection-mode is very important for the look-and-feel. | ||
| 43 | ;; Pete Forman <pete.forman@airgun.wg.waii.com> provided some motif | ||
| 44 | ;; compliant keybindings which I added. I had to modify them a little | ||
| 45 | ;; to add the -mark and -nomark functionality of cursor moving. | ||
| 46 | ;; | ||
| 47 | ;; Credits: | ||
| 48 | ;; Many thanks to all who made comments. | ||
| 49 | ;; Thanks to RMS and Ralf Muschall <prm@rz.uni-jena.de> for criticism. | ||
| 50 | ;; Kevin Cutts <cutts@ukraine.corp.mot.com> added the beginning-of-buffer | ||
| 51 | ;; and end-of-buffer functions which I modified a little. | ||
| 52 | ;; David Biesack <sasdjb@unx.sas.com> suggested some more cleanup. | ||
| 53 | ;; Thanks to Pete Forman <pete.forman@airgun.wg.waii.com> | ||
| 54 | ;; for additional motif keybindings. | ||
| 55 | ;; Thanks to jvromans@squirrel.nl (Johan Vromans) for a bug report | ||
| 56 | ;; concerning setting of this-command. | ||
| 57 | ;; Dan Nicolaescu <done@ece.arizona.ro> suggested suppressing the | ||
| 58 | ;; scroll-up/scroll-down error. | ||
| 59 | ;; Eli Barzilay (eli@cs.bgu.ac.il) suggested the sexps functions and | ||
| 60 | ;; keybindings. | ||
| 61 | ;; | ||
| 62 | ;; Ok, some details about the idea of PC Selection mode: | ||
| 63 | ;; | ||
| 64 | ;; o The standard keys for moving around (right, left, up, down, home, end, | ||
| 65 | ;; prior, next, called "move-keys" from now on) will always de-activate | ||
| 66 | ;; the mark. | ||
| 67 | ;; o If you press "Shift" together with the "move-keys", the region | ||
| 68 | ;; you pass along is activated | ||
| 69 | ;; o You have the copy, cut and paste functions (as in many other programs) | ||
| 70 | ;; which will operate on the active region | ||
| 71 | ;; It was not possible to bind them to C-v, C-x and C-c for obvious | ||
| 72 | ;; emacs reasons. | ||
| 73 | ;; They will be bound according to the "old" behavior to S-delete (cut), | ||
| 74 | ;; S-insert (paste) and C-insert (copy). These keys do the same in many | ||
| 75 | ;; other programs. | ||
| 76 | ;; | ||
| 77 | |||
| 78 | ;;; Code: | ||
| 79 | |||
| 80 | ;; Customization: | ||
| 81 | (defgroup pc-select nil | ||
| 82 | "Emulate pc bindings." | ||
| 83 | :prefix "pc-select" | ||
| 84 | :group 'emulations) | ||
| 85 | |||
| 86 | (defcustom pc-select-override-scroll-error t | ||
| 87 | "Non-nil means don't generate error on scrolling past edge of buffer. | ||
| 88 | This variable applies in PC Selection mode only. | ||
| 89 | The scroll commands normally generate an error if you try to scroll | ||
| 90 | past the top or bottom of the buffer. This is annoying when selecting | ||
| 91 | text with these commands. If you set this variable to non-nil, these | ||
| 92 | errors are suppressed." | ||
| 93 | :type 'boolean | ||
| 94 | :group 'pc-select) | ||
| 95 | (define-obsolete-variable-alias 'pc-select-override-scroll-error | ||
| 96 | 'scroll-error-top-bottom | ||
| 97 | "24.1") | ||
| 98 | |||
| 99 | (defcustom pc-select-selection-keys-only nil | ||
| 100 | "Non-nil means only bind the basic selection keys when started. | ||
| 101 | Other keys that emulate pc-behavior will be untouched. | ||
| 102 | This gives mostly Emacs-like behavior with only the selection keys enabled." | ||
| 103 | :type 'boolean | ||
| 104 | :group 'pc-select) | ||
| 105 | |||
| 106 | (defcustom pc-select-meta-moves-sexps nil | ||
| 107 | "Non-nil means move sexp-wise with Meta key, otherwise move word-wise." | ||
| 108 | :type 'boolean | ||
| 109 | :group 'pc-select) | ||
| 110 | |||
| 111 | (defcustom pc-selection-mode-hook nil | ||
| 112 | "The hook to run when PC Selection mode is toggled." | ||
| 113 | :type 'hook | ||
| 114 | :group 'pc-select) | ||
| 115 | |||
| 116 | (defvar pc-select-saved-settings-alist nil | ||
| 117 | "The values of the variables before PC Selection mode was toggled on. | ||
| 118 | When PC Selection mode is toggled on, it sets quite a few variables | ||
| 119 | for its own purposes. This alist holds the original values of the | ||
| 120 | variables PC Selection mode had set, so that these variables can be | ||
| 121 | restored to their original values when PC Selection mode is toggled off.") | ||
| 122 | |||
| 123 | (defvar pc-select-map nil | ||
| 124 | "The keymap used as the global map when PC Selection mode is on." ) | ||
| 125 | |||
| 126 | (defvar pc-select-saved-global-map nil | ||
| 127 | "The global map that was in effect when PC Selection mode was toggled on.") | ||
| 128 | |||
| 129 | (defvar pc-select-key-bindings-alist nil | ||
| 130 | "This alist holds all the key bindings PC Selection mode sets.") | ||
| 131 | |||
| 132 | (defvar pc-select-default-key-bindings nil | ||
| 133 | "These key bindings always get set by PC Selection mode.") | ||
| 134 | |||
| 135 | (unless pc-select-default-key-bindings | ||
| 136 | (let ((lst | ||
| 137 | ;; This is to avoid confusion with the delete-selection-mode. | ||
| 138 | ;; On simple displays you can't see that a region is active and | ||
| 139 | ;; will be deleted on the next keypress IMHO especially for | ||
| 140 | ;; copy-region-as-kill this is confusing. | ||
| 141 | ;; The same goes for exchange-point-and-mark | ||
| 142 | '(("\M-w" . copy-region-as-kill-nomark) | ||
| 143 | ("\C-x\C-x" . exchange-point-and-mark-nomark) | ||
| 144 | ([S-right] . forward-char-mark) | ||
| 145 | ([right] . forward-char-nomark) | ||
| 146 | ([C-S-right] . forward-word-mark) | ||
| 147 | ([C-right] . forward-word-nomark) | ||
| 148 | ([S-left] . backward-char-mark) | ||
| 149 | ([left] . backward-char-nomark) | ||
| 150 | ([C-S-left] . backward-word-mark) | ||
| 151 | ([C-left] . backward-word-nomark) | ||
| 152 | ([S-down] . next-line-mark) | ||
| 153 | ([down] . next-line-nomark) | ||
| 154 | |||
| 155 | ([S-end] . end-of-line-mark) | ||
| 156 | ([end] . end-of-line-nomark) | ||
| 157 | ([S-C-end] . end-of-buffer-mark) | ||
| 158 | ([C-end] . end-of-buffer-nomark) | ||
| 159 | ([S-M-end] . end-of-buffer-mark) | ||
| 160 | ([M-end] . end-of-buffer-nomark) | ||
| 161 | |||
| 162 | ([S-next] . scroll-up-mark) | ||
| 163 | ([next] . scroll-up-nomark) | ||
| 164 | |||
| 165 | ([S-up] . previous-line-mark) | ||
| 166 | ([up] . previous-line-nomark) | ||
| 167 | |||
| 168 | ([S-home] . beginning-of-line-mark) | ||
| 169 | ([home] . beginning-of-line-nomark) | ||
| 170 | ([S-C-home] . beginning-of-buffer-mark) | ||
| 171 | ([C-home] . beginning-of-buffer-nomark) | ||
| 172 | ([S-M-home] . beginning-of-buffer-mark) | ||
| 173 | ([M-home] . beginning-of-buffer-nomark) | ||
| 174 | |||
| 175 | ([M-S-down] . forward-line-mark) | ||
| 176 | ([M-down] . forward-line-nomark) | ||
| 177 | ([M-S-up] . backward-line-mark) | ||
| 178 | ([M-up] . backward-line-nomark) | ||
| 179 | |||
| 180 | ([S-prior] . scroll-down-mark) | ||
| 181 | ([prior] . scroll-down-nomark) | ||
| 182 | |||
| 183 | ;; Next four lines are from Pete Forman. | ||
| 184 | ([C-down] . forward-paragraph-nomark) ; KNextPara cDn | ||
| 185 | ([C-up] . backward-paragraph-nomark) ; KPrevPara cUp | ||
| 186 | ([S-C-down] . forward-paragraph-mark) | ||
| 187 | ([S-C-up] . backward-paragraph-mark)))) | ||
| 188 | |||
| 189 | (setq pc-select-default-key-bindings lst))) | ||
| 190 | |||
| 191 | (defvar pc-select-extra-key-bindings nil | ||
| 192 | "Key bindings to set only if `pc-select-selection-keys-only' is nil.") | ||
| 193 | |||
| 194 | ;; The following keybindings are for standard ISO keyboards | ||
| 195 | ;; as they are used with IBM compatible PCs, IBM RS/6000, | ||
| 196 | ;; MACs, many X-Stations and probably more | ||
| 197 | (unless pc-select-extra-key-bindings | ||
| 198 | (let ((lst | ||
| 199 | '(([S-insert] . yank) | ||
| 200 | ([C-insert] . copy-region-as-kill) | ||
| 201 | ([S-delete] . kill-region) | ||
| 202 | |||
| 203 | ;; The following bindings are useful on Sun Type 3 keyboards | ||
| 204 | ;; They implement the Get-Delete-Put (copy-cut-paste) | ||
| 205 | ;; functions from sunview on the L6, L8 and L10 keys | ||
| 206 | ;; Sam Steingold <sds@gnu.org> says that f16 is copy and f18 is paste. | ||
| 207 | ([f16] . copy-region-as-kill) | ||
| 208 | ([f18] . yank) | ||
| 209 | ([f20] . kill-region) | ||
| 210 | |||
| 211 | ;; The following bindings are from Pete Forman. | ||
| 212 | ([f6] . other-window) ; KNextPane F6 | ||
| 213 | ([C-delete] . kill-line) ; KEraseEndLine cDel | ||
| 214 | ("\M-\d" . undo) ; KUndo aBS | ||
| 215 | |||
| 216 | ;; The following binding is taken from pc-mode.el | ||
| 217 | ;; as suggested by RMS. | ||
| 218 | ;; I only used the one that is not covered above. | ||
| 219 | ([C-M-delete] . kill-sexp) | ||
| 220 | ;; Next line proposed by Eli Barzilay | ||
| 221 | ([C-escape] . electric-buffer-list)))) | ||
| 222 | |||
| 223 | (setq pc-select-extra-key-bindings lst))) | ||
| 224 | |||
| 225 | (defvar pc-select-meta-moves-sexps-key-bindings | ||
| 226 | '((([M-S-right] . forward-sexp-mark) | ||
| 227 | ([M-right] . forward-sexp-nomark) | ||
| 228 | ([M-S-left] . backward-sexp-mark) | ||
| 229 | ([M-left] . backward-sexp-nomark)) | ||
| 230 | (([M-S-right] . forward-word-mark) | ||
| 231 | ([M-right] . forward-word-nomark) | ||
| 232 | ([M-S-left] . backward-word-mark) | ||
| 233 | ([M-left] . backward-word-nomark))) | ||
| 234 | "The list of key bindings controlled by `pc-select-meta-moves-sexp'. | ||
| 235 | The bindings in the car of this list get installed if | ||
| 236 | `pc-select-meta-moves-sexp' is t, the bindings in the cadr of this | ||
| 237 | list get installed otherwise.") | ||
| 238 | |||
| 239 | ;; This is for tty. We don't turn on normal-erase-is-backspace, | ||
| 240 | ;; but bind keys as pc-selection-mode did before | ||
| 241 | ;; normal-erase-is-backspace was invented, to keep us back | ||
| 242 | ;; compatible. | ||
| 243 | (defvar pc-select-tty-key-bindings | ||
| 244 | '(([delete] . delete-char) ; KDelete Del | ||
| 245 | ([C-backspace] . backward-kill-word)) | ||
| 246 | "The list of key bindings controlled by `pc-select-selection-keys-only'. | ||
| 247 | These key bindings get installed when running in a tty, but only if | ||
| 248 | `pc-select-selection-keys-only' is nil.") | ||
| 249 | |||
| 250 | (defvar pc-select-old-M-delete-binding nil | ||
| 251 | "Holds the old mapping of [M-delete] in the `function-key-map'. | ||
| 252 | This variable holds the value associated with [M-delete] in the | ||
| 253 | `function-key-map' before PC Selection mode had changed that | ||
| 254 | association.") | ||
| 255 | |||
| 256 | ;;;; | ||
| 257 | ;; misc | ||
| 258 | ;;;; | ||
| 259 | |||
| 260 | (provide 'pc-select) | ||
| 261 | |||
| 262 | (defun copy-region-as-kill-nomark (beg end) | ||
| 263 | "Save the region as if killed, but don't kill it; deactivate mark. | ||
| 264 | If `interprogram-cut-function' is non-nil, also save the text for a window | ||
| 265 | system cut and paste. | ||
| 266 | |||
| 267 | Deactivating mark is to avoid confusion with `delete-selection-mode' | ||
| 268 | and `transient-mark-mode'." | ||
| 269 | (interactive "r") | ||
| 270 | (copy-region-as-kill beg end) | ||
| 271 | (setq mark-active nil) | ||
| 272 | (message "Region saved")) | ||
| 273 | |||
| 274 | (defun exchange-point-and-mark-nomark () | ||
| 275 | "Like `exchange-point-and-mark' but without activating the mark." | ||
| 276 | (interactive) | ||
| 277 | (exchange-point-and-mark) | ||
| 278 | (setq mark-active nil)) | ||
| 279 | |||
| 280 | ;;;; | ||
| 281 | ;; non-interactive | ||
| 282 | ;;;; | ||
| 283 | (defun pc-select-ensure-mark () | ||
| 284 | ;; make sure mark is active | ||
| 285 | ;; test if it is active, if it isn't, set it and activate it | ||
| 286 | (or mark-active (set-mark-command nil)) | ||
| 287 | ;; Remember who activated the mark. | ||
| 288 | (setq mark-active 'pc-select)) | ||
| 289 | |||
| 290 | (defun pc-select-maybe-deactivate-mark () | ||
| 291 | ;; maybe switch off mark (only if *we* switched it on) | ||
| 292 | (when (eq mark-active 'pc-select) | ||
| 293 | (deactivate-mark))) | ||
| 294 | |||
| 295 | ;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 296 | ;;;;; forward and mark | ||
| 297 | ;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 298 | |||
| 299 | (defun forward-char-mark (&optional arg) | ||
| 300 | "Ensure mark is active; move point right ARG characters (left if ARG negative). | ||
| 301 | On reaching end of buffer, stop and signal error." | ||
| 302 | (interactive "p") | ||
| 303 | (pc-select-ensure-mark) | ||
| 304 | (forward-char arg)) | ||
| 305 | |||
| 306 | (defun forward-word-mark (&optional arg) | ||
| 307 | "Ensure mark is active; move point right ARG words (backward if ARG is negative). | ||
| 308 | Normally returns t. | ||
| 309 | If an edge of the buffer is reached, point is left there | ||
| 310 | and nil is returned." | ||
| 311 | (interactive "p") | ||
| 312 | (pc-select-ensure-mark) | ||
| 313 | (forward-word arg)) | ||
| 314 | |||
| 315 | (defun forward-line-mark (&optional arg) | ||
| 316 | "Ensure mark is active; move cursor vertically down ARG lines." | ||
| 317 | (interactive "p") | ||
| 318 | (pc-select-ensure-mark) | ||
| 319 | (forward-line arg) | ||
| 320 | (setq this-command 'forward-line) | ||
| 321 | ) | ||
| 322 | |||
| 323 | (defun forward-sexp-mark (&optional arg) | ||
| 324 | "Ensure mark is active; move forward across one balanced expression (sexp). | ||
| 325 | With argument, do it that many times. Negative arg -N means | ||
| 326 | move backward across N balanced expressions." | ||
| 327 | (interactive "p") | ||
| 328 | (pc-select-ensure-mark) | ||
| 329 | (forward-sexp arg)) | ||
| 330 | |||
| 331 | (defun forward-paragraph-mark (&optional arg) | ||
| 332 | "Ensure mark is active; move forward to end of paragraph. | ||
| 333 | With arg N, do it N times; negative arg -N means move backward N paragraphs. | ||
| 334 | |||
| 335 | A line which `paragraph-start' matches either separates paragraphs | ||
| 336 | \(if `paragraph-separate' matches it also) or is the first line of a paragraph. | ||
| 337 | A paragraph end is the beginning of a line which is not part of the paragraph | ||
| 338 | to which the end of the previous line belongs, or the end of the buffer." | ||
| 339 | (interactive "p") | ||
| 340 | (pc-select-ensure-mark) | ||
| 341 | (forward-paragraph arg)) | ||
| 342 | |||
| 343 | (defun next-line-mark (&optional arg) | ||
| 344 | "Ensure mark is active; move cursor vertically down ARG lines. | ||
| 345 | If there is no character in the target line exactly under the current column, | ||
| 346 | the cursor is positioned after the character in that line which spans this | ||
| 347 | column, or at the end of the line if it is not long enough. | ||
| 348 | If there is no line in the buffer after this one, behavior depends on the | ||
| 349 | value of `next-line-add-newlines'. If non-nil, it inserts a newline character | ||
| 350 | to create a line, and moves the cursor to that line. Otherwise it moves the | ||
| 351 | cursor to the end of the buffer \(if already at the end of the buffer, an error | ||
| 352 | is signaled). | ||
| 353 | |||
| 354 | The command \\[set-goal-column] can be used to create | ||
| 355 | a semipermanent goal column to which this command always moves. | ||
| 356 | Then it does not try to move vertically. This goal column is stored | ||
| 357 | in `goal-column', which is nil when there is none." | ||
| 358 | (interactive "p") | ||
| 359 | (pc-select-ensure-mark) | ||
| 360 | (with-no-warnings (next-line arg)) | ||
| 361 | (setq this-command 'next-line)) | ||
| 362 | |||
| 363 | (defun end-of-line-mark (&optional arg) | ||
| 364 | "Ensure mark is active; move point to end of current line. | ||
| 365 | With argument ARG not nil or 1, move forward ARG - 1 lines first. | ||
| 366 | If scan reaches end of buffer, stop there without error." | ||
| 367 | (interactive "p") | ||
| 368 | (pc-select-ensure-mark) | ||
| 369 | (end-of-line arg) | ||
| 370 | (setq this-command 'end-of-line)) | ||
| 371 | |||
| 372 | (defun backward-line-mark (&optional arg) | ||
| 373 | "Ensure mark is active; move cursor vertically up ARG lines." | ||
| 374 | (interactive "p") | ||
| 375 | (pc-select-ensure-mark) | ||
| 376 | (if (null arg) | ||
| 377 | (setq arg 1)) | ||
| 378 | (forward-line (- arg)) | ||
| 379 | (setq this-command 'forward-line) | ||
| 380 | ) | ||
| 381 | |||
| 382 | (defun scroll-down-mark (&optional arg) | ||
| 383 | "Ensure mark is active; scroll down ARG lines; or near full screen if no ARG. | ||
| 384 | A near full screen is `next-screen-context-lines' less than a full screen. | ||
| 385 | Negative ARG means scroll upward. | ||
| 386 | When calling from a program, supply a number as argument or nil. | ||
| 387 | Attempting to scroll past the edge of buffer does not raise an | ||
| 388 | error, unless `pc-select-override-scroll-error' is nil." | ||
| 389 | (interactive "P") | ||
| 390 | (pc-select-ensure-mark) | ||
| 391 | (cond (pc-select-override-scroll-error | ||
| 392 | (condition-case nil (scroll-down arg) | ||
| 393 | (beginning-of-buffer (goto-char (point-min))))) | ||
| 394 | (t (scroll-down arg)))) | ||
| 395 | |||
| 396 | (defun end-of-buffer-mark (&optional arg) | ||
| 397 | "Ensure mark is active; move point to the end of the buffer. | ||
| 398 | With arg N, put point N/10 of the way from the end. | ||
| 399 | |||
| 400 | If the buffer is narrowed, this command uses the beginning and size | ||
| 401 | of the accessible part of the buffer. | ||
| 402 | |||
| 403 | Don't use this command in Lisp programs! | ||
| 404 | \(goto-char \(point-max)) is faster and avoids clobbering the mark." | ||
| 405 | (interactive "P") | ||
| 406 | (pc-select-ensure-mark) | ||
| 407 | (let ((size (- (point-max) (point-min)))) | ||
| 408 | (goto-char (if arg | ||
| 409 | (- (point-max) | ||
| 410 | (if (> size 10000) | ||
| 411 | ;; Avoid overflow for large buffer sizes! | ||
| 412 | (* (prefix-numeric-value arg) | ||
| 413 | (/ size 10)) | ||
| 414 | (/ (* size (prefix-numeric-value arg)) 10))) | ||
| 415 | (point-max)))) | ||
| 416 | ;; If we went to a place in the middle of the buffer, | ||
| 417 | ;; adjust it to the beginning of a line. | ||
| 418 | (if arg (forward-line 1) | ||
| 419 | ;; If the end of the buffer is not already on the screen, | ||
| 420 | ;; then scroll specially to put it near, but not at, the bottom. | ||
| 421 | (if (let ((old-point (point))) | ||
| 422 | (save-excursion | ||
| 423 | (goto-char (window-start)) | ||
| 424 | (vertical-motion (window-height)) | ||
| 425 | (< (point) old-point))) | ||
| 426 | (progn | ||
| 427 | (overlay-recenter (point)) | ||
| 428 | (recenter -3))))) | ||
| 429 | |||
| 430 | ;;;;;;;;; | ||
| 431 | ;;;;; no mark | ||
| 432 | ;;;;;;;;; | ||
| 433 | |||
| 434 | (defun forward-char-nomark (&optional arg) | ||
| 435 | "Deactivate mark; move point right ARG characters \(left if ARG negative). | ||
| 436 | On reaching end of buffer, stop and signal error." | ||
| 437 | (interactive "p") | ||
| 438 | (pc-select-maybe-deactivate-mark) | ||
| 439 | (forward-char arg)) | ||
| 440 | |||
| 441 | (defun forward-word-nomark (&optional arg) | ||
| 442 | "Deactivate mark; move point right ARG words \(backward if ARG is negative). | ||
| 443 | Normally returns t. | ||
| 444 | If an edge of the buffer is reached, point is left there | ||
| 445 | and nil is returned." | ||
| 446 | (interactive "p") | ||
| 447 | (pc-select-maybe-deactivate-mark) | ||
| 448 | (forward-word arg)) | ||
| 449 | |||
| 450 | (defun forward-line-nomark (&optional arg) | ||
| 451 | "Deactivate mark; move cursor vertically down ARG lines." | ||
| 452 | (interactive "p") | ||
| 453 | (pc-select-maybe-deactivate-mark) | ||
| 454 | (forward-line arg) | ||
| 455 | (setq this-command 'forward-line) | ||
| 456 | ) | ||
| 457 | |||
| 458 | (defun forward-sexp-nomark (&optional arg) | ||
| 459 | "Deactivate mark; move forward across one balanced expression (sexp). | ||
| 460 | With argument, do it that many times. Negative arg -N means | ||
| 461 | move backward across N balanced expressions." | ||
| 462 | (interactive "p") | ||
| 463 | (pc-select-maybe-deactivate-mark) | ||
| 464 | (forward-sexp arg)) | ||
| 465 | |||
| 466 | (defun forward-paragraph-nomark (&optional arg) | ||
| 467 | "Deactivate mark; move forward to end of paragraph. | ||
| 468 | With arg N, do it N times; negative arg -N means move backward N paragraphs. | ||
| 469 | |||
| 470 | A line which `paragraph-start' matches either separates paragraphs | ||
| 471 | \(if `paragraph-separate' matches it also) or is the first line of a paragraph. | ||
| 472 | A paragraph end is the beginning of a line which is not part of the paragraph | ||
| 473 | to which the end of the previous line belongs, or the end of the buffer." | ||
| 474 | (interactive "p") | ||
| 475 | (pc-select-maybe-deactivate-mark) | ||
| 476 | (forward-paragraph arg)) | ||
| 477 | |||
| 478 | (defun next-line-nomark (&optional arg) | ||
| 479 | "Deactivate mark; move cursor vertically down ARG lines. | ||
| 480 | If there is no character in the target line exactly under the current column, | ||
| 481 | the cursor is positioned after the character in that line which spans this | ||
| 482 | column, or at the end of the line if it is not long enough. | ||
| 483 | If there is no line in the buffer after this one, behavior depends on the | ||
| 484 | value of `next-line-add-newlines'. If non-nil, it inserts a newline character | ||
| 485 | to create a line, and moves the cursor to that line. Otherwise it moves the | ||
| 486 | cursor to the end of the buffer (if already at the end of the buffer, an error | ||
| 487 | is signaled). | ||
| 488 | |||
| 489 | The command \\[set-goal-column] can be used to create | ||
| 490 | a semipermanent goal column to which this command always moves. | ||
| 491 | Then it does not try to move vertically. This goal column is stored | ||
| 492 | in `goal-column', which is nil when there is none." | ||
| 493 | (interactive "p") | ||
| 494 | (pc-select-maybe-deactivate-mark) | ||
| 495 | (with-no-warnings (next-line arg)) | ||
| 496 | (setq this-command 'next-line)) | ||
| 497 | |||
| 498 | (defun end-of-line-nomark (&optional arg) | ||
| 499 | "Deactivate mark; move point to end of current line. | ||
| 500 | With argument ARG not nil or 1, move forward ARG - 1 lines first. | ||
| 501 | If scan reaches end of buffer, stop there without error." | ||
| 502 | (interactive "p") | ||
| 503 | (pc-select-maybe-deactivate-mark) | ||
| 504 | (end-of-line arg) | ||
| 505 | (setq this-command 'end-of-line)) | ||
| 506 | |||
| 507 | (defun backward-line-nomark (&optional arg) | ||
| 508 | "Deactivate mark; move cursor vertically up ARG lines." | ||
| 509 | (interactive "p") | ||
| 510 | (pc-select-maybe-deactivate-mark) | ||
| 511 | (if (null arg) | ||
| 512 | (setq arg 1)) | ||
| 513 | (forward-line (- arg)) | ||
| 514 | (setq this-command 'forward-line) | ||
| 515 | ) | ||
| 516 | |||
| 517 | (defun scroll-down-nomark (&optional arg) | ||
| 518 | "Deactivate mark; scroll down ARG lines; or near full screen if no ARG. | ||
| 519 | A near full screen is `next-screen-context-lines' less than a full screen. | ||
| 520 | Negative ARG means scroll upward. | ||
| 521 | When calling from a program, supply a number as argument or nil. | ||
| 522 | Attempting to scroll past the edge of buffer does not raise an | ||
| 523 | error, unless `pc-select-override-scroll-error' is nil." | ||
| 524 | (interactive "P") | ||
| 525 | (pc-select-maybe-deactivate-mark) | ||
| 526 | (cond (pc-select-override-scroll-error | ||
| 527 | (condition-case nil (scroll-down arg) | ||
| 528 | (beginning-of-buffer (goto-char (point-min))))) | ||
| 529 | (t (scroll-down arg)))) | ||
| 530 | |||
| 531 | (defun end-of-buffer-nomark (&optional arg) | ||
| 532 | "Deactivate mark; move point to the end of the buffer. | ||
| 533 | With arg N, put point N/10 of the way from the end. | ||
| 534 | |||
| 535 | If the buffer is narrowed, this command uses the beginning and size | ||
| 536 | of the accessible part of the buffer. | ||
| 537 | |||
| 538 | Don't use this command in Lisp programs! | ||
| 539 | \(goto-char (point-max)) is faster and avoids clobbering the mark." | ||
| 540 | (interactive "P") | ||
| 541 | (pc-select-maybe-deactivate-mark) | ||
| 542 | (let ((size (- (point-max) (point-min)))) | ||
| 543 | (goto-char (if arg | ||
| 544 | (- (point-max) | ||
| 545 | (if (> size 10000) | ||
| 546 | ;; Avoid overflow for large buffer sizes! | ||
| 547 | (* (prefix-numeric-value arg) | ||
| 548 | (/ size 10)) | ||
| 549 | (/ (* size (prefix-numeric-value arg)) 10))) | ||
| 550 | (point-max)))) | ||
| 551 | ;; If we went to a place in the middle of the buffer, | ||
| 552 | ;; adjust it to the beginning of a line. | ||
| 553 | (if arg (forward-line 1) | ||
| 554 | ;; If the end of the buffer is not already on the screen, | ||
| 555 | ;; then scroll specially to put it near, but not at, the bottom. | ||
| 556 | (if (let ((old-point (point))) | ||
| 557 | (save-excursion | ||
| 558 | (goto-char (window-start)) | ||
| 559 | (vertical-motion (window-height)) | ||
| 560 | (< (point) old-point))) | ||
| 561 | (progn | ||
| 562 | (overlay-recenter (point)) | ||
| 563 | (recenter -3))))) | ||
| 564 | |||
| 565 | |||
| 566 | ;;;;;;;;;;;;;;;;;;;; | ||
| 567 | ;;;;;; backwards and mark | ||
| 568 | ;;;;;;;;;;;;;;;;;;;; | ||
| 569 | |||
| 570 | (defun backward-char-mark (&optional arg) | ||
| 571 | "Ensure mark is active; move point left ARG characters (right if ARG negative). | ||
| 572 | On attempt to pass beginning or end of buffer, stop and signal error." | ||
| 573 | (interactive "p") | ||
| 574 | (pc-select-ensure-mark) | ||
| 575 | (backward-char arg)) | ||
| 576 | |||
| 577 | (defun backward-word-mark (&optional arg) | ||
| 578 | "Ensure mark is active; move backward until encountering the end of a word. | ||
| 579 | With argument, do this that many times." | ||
| 580 | (interactive "p") | ||
| 581 | (pc-select-ensure-mark) | ||
| 582 | (backward-word arg)) | ||
| 583 | |||
| 584 | (defun backward-sexp-mark (&optional arg) | ||
| 585 | "Ensure mark is active; move backward across one balanced expression (sexp). | ||
| 586 | With argument, do it that many times. Negative arg -N means | ||
| 587 | move forward across N balanced expressions." | ||
| 588 | (interactive "p") | ||
| 589 | (pc-select-ensure-mark) | ||
| 590 | (backward-sexp arg)) | ||
| 591 | |||
| 592 | (defun backward-paragraph-mark (&optional arg) | ||
| 593 | "Ensure mark is active; move backward to start of paragraph. | ||
| 594 | With arg N, do it N times; negative arg -N means move forward N paragraphs. | ||
| 595 | |||
| 596 | A paragraph start is the beginning of a line which is a | ||
| 597 | `first-line-of-paragraph' or which is ordinary text and follows a | ||
| 598 | paragraph-separating line; except: if the first real line of a | ||
| 599 | paragraph is preceded by a blank line, the paragraph starts at that | ||
| 600 | blank line. | ||
| 601 | |||
| 602 | See `forward-paragraph' for more information." | ||
| 603 | (interactive "p") | ||
| 604 | (pc-select-ensure-mark) | ||
| 605 | (backward-paragraph arg)) | ||
| 606 | |||
| 607 | (defun previous-line-mark (&optional arg) | ||
| 608 | "Ensure mark is active; move cursor vertically up ARG lines. | ||
| 609 | If there is no character in the target line exactly over the current column, | ||
| 610 | the cursor is positioned after the character in that line which spans this | ||
| 611 | column, or at the end of the line if it is not long enough. | ||
| 612 | |||
| 613 | The command \\[set-goal-column] can be used to create | ||
| 614 | a semipermanent goal column to which this command always moves. | ||
| 615 | Then it does not try to move vertically. | ||
| 616 | |||
| 617 | If you are thinking of using this in a Lisp program, consider using | ||
| 618 | `forward-line' with a negative argument instead. It is usually easier | ||
| 619 | to use and more reliable (no dependence on goal column, etc.)." | ||
| 620 | (interactive "p") | ||
| 621 | (pc-select-ensure-mark) | ||
| 622 | (with-no-warnings (previous-line arg)) | ||
| 623 | (setq this-command 'previous-line)) | ||
| 624 | |||
| 625 | (defun beginning-of-line-mark (&optional arg) | ||
| 626 | "Ensure mark is active; move point to beginning of current line. | ||
| 627 | With argument ARG not nil or 1, move forward ARG - 1 lines first. | ||
| 628 | If scan reaches end of buffer, stop there without error." | ||
| 629 | (interactive "p") | ||
| 630 | (pc-select-ensure-mark) | ||
| 631 | (beginning-of-line arg)) | ||
| 632 | |||
| 633 | |||
| 634 | (defun scroll-up-mark (&optional arg) | ||
| 635 | "Ensure mark is active; scroll upward ARG lines; or near full screen if no ARG. | ||
| 636 | A near full screen is `next-screen-context-lines' less than a full screen. | ||
| 637 | Negative ARG means scroll downward. | ||
| 638 | When calling from a program, supply a number as argument or nil. | ||
| 639 | Attempting to scroll past the edge of buffer does not raise an | ||
| 640 | error, unless `pc-select-override-scroll-error' is nil." | ||
| 641 | (interactive "P") | ||
| 642 | (pc-select-ensure-mark) | ||
| 643 | (cond (pc-select-override-scroll-error | ||
| 644 | (condition-case nil (scroll-up arg) | ||
| 645 | (end-of-buffer (goto-char (point-max))))) | ||
| 646 | (t (scroll-up arg)))) | ||
| 647 | |||
| 648 | (defun beginning-of-buffer-mark (&optional arg) | ||
| 649 | "Ensure mark is active; move point to the beginning of the buffer. | ||
| 650 | With arg N, put point N/10 of the way from the beginning. | ||
| 651 | |||
| 652 | If the buffer is narrowed, this command uses the beginning and size | ||
| 653 | of the accessible part of the buffer. | ||
| 654 | |||
| 655 | Don't use this command in Lisp programs! | ||
| 656 | \(goto-char (point-min)) is faster and avoids clobbering the mark." | ||
| 657 | (interactive "P") | ||
| 658 | (pc-select-ensure-mark) | ||
| 659 | (let ((size (- (point-max) (point-min)))) | ||
| 660 | (goto-char (if arg | ||
| 661 | (+ (point-min) | ||
| 662 | (if (> size 10000) | ||
| 663 | ;; Avoid overflow for large buffer sizes! | ||
| 664 | (* (prefix-numeric-value arg) | ||
| 665 | (/ size 10)) | ||
| 666 | (/ (+ 10 (* size (prefix-numeric-value arg))) 10))) | ||
| 667 | (point-min)))) | ||
| 668 | (if arg (forward-line 1))) | ||
| 669 | |||
| 670 | ;;;;;;;; | ||
| 671 | ;;; no mark | ||
| 672 | ;;;;;;;; | ||
| 673 | |||
| 674 | (defun backward-char-nomark (&optional arg) | ||
| 675 | "Deactivate mark; move point left ARG characters (right if ARG negative). | ||
| 676 | On attempt to pass beginning or end of buffer, stop and signal error." | ||
| 677 | (interactive "p") | ||
| 678 | (pc-select-maybe-deactivate-mark) | ||
| 679 | (backward-char arg)) | ||
| 680 | |||
| 681 | (defun backward-word-nomark (&optional arg) | ||
| 682 | "Deactivate mark; move backward until encountering the end of a word. | ||
| 683 | With argument, do this that many times." | ||
| 684 | (interactive "p") | ||
| 685 | (pc-select-maybe-deactivate-mark) | ||
| 686 | (backward-word arg)) | ||
| 687 | |||
| 688 | (defun backward-sexp-nomark (&optional arg) | ||
| 689 | "Deactivate mark; move backward across one balanced expression (sexp). | ||
| 690 | With argument, do it that many times. Negative arg -N means | ||
| 691 | move forward across N balanced expressions." | ||
| 692 | (interactive "p") | ||
| 693 | (pc-select-maybe-deactivate-mark) | ||
| 694 | (backward-sexp arg)) | ||
| 695 | |||
| 696 | (defun backward-paragraph-nomark (&optional arg) | ||
| 697 | "Deactivate mark; move backward to start of paragraph. | ||
| 698 | With arg N, do it N times; negative arg -N means move forward N paragraphs. | ||
| 699 | |||
| 700 | A paragraph start is the beginning of a line which is a | ||
| 701 | `first-line-of-paragraph' or which is ordinary text and follows a | ||
| 702 | paragraph-separating line; except: if the first real line of a | ||
| 703 | paragraph is preceded by a blank line, the paragraph starts at that | ||
| 704 | blank line. | ||
| 705 | |||
| 706 | See `forward-paragraph' for more information." | ||
| 707 | (interactive "p") | ||
| 708 | (pc-select-maybe-deactivate-mark) | ||
| 709 | (backward-paragraph arg)) | ||
| 710 | |||
| 711 | (defun previous-line-nomark (&optional arg) | ||
| 712 | "Deactivate mark; move cursor vertically up ARG lines. | ||
| 713 | If there is no character in the target line exactly over the current column, | ||
| 714 | the cursor is positioned after the character in that line which spans this | ||
| 715 | column, or at the end of the line if it is not long enough. | ||
| 716 | |||
| 717 | The command \\[set-goal-column] can be used to create | ||
| 718 | a semipermanent goal column to which this command always moves. | ||
| 719 | Then it does not try to move vertically." | ||
| 720 | (interactive "p") | ||
| 721 | (pc-select-maybe-deactivate-mark) | ||
| 722 | (with-no-warnings (previous-line arg)) | ||
| 723 | (setq this-command 'previous-line)) | ||
| 724 | |||
| 725 | (defun beginning-of-line-nomark (&optional arg) | ||
| 726 | "Deactivate mark; move point to beginning of current line. | ||
| 727 | With argument ARG not nil or 1, move forward ARG - 1 lines first. | ||
| 728 | If scan reaches end of buffer, stop there without error." | ||
| 729 | (interactive "p") | ||
| 730 | (pc-select-maybe-deactivate-mark) | ||
| 731 | (beginning-of-line arg)) | ||
| 732 | |||
| 733 | (defun scroll-up-nomark (&optional arg) | ||
| 734 | "Deactivate mark; scroll upward ARG lines; or near full screen if no ARG. | ||
| 735 | A near full screen is `next-screen-context-lines' less than a full screen. | ||
| 736 | Negative ARG means scroll downward. | ||
| 737 | When calling from a program, supply a number as argument or nil. | ||
| 738 | Attempting to scroll past the edge of buffer does not raise an | ||
| 739 | error, unless `pc-select-override-scroll-error' is nil." | ||
| 740 | (interactive "P") | ||
| 741 | (pc-select-maybe-deactivate-mark) | ||
| 742 | (cond (pc-select-override-scroll-error | ||
| 743 | (condition-case nil (scroll-up arg) | ||
| 744 | (end-of-buffer (goto-char (point-max))))) | ||
| 745 | (t (scroll-up arg)))) | ||
| 746 | |||
| 747 | (defun beginning-of-buffer-nomark (&optional arg) | ||
| 748 | "Deactivate mark; move point to the beginning of the buffer. | ||
| 749 | With arg N, put point N/10 of the way from the beginning. | ||
| 750 | |||
| 751 | If the buffer is narrowed, this command uses the beginning and size | ||
| 752 | of the accessible part of the buffer. | ||
| 753 | |||
| 754 | Don't use this command in Lisp programs! | ||
| 755 | \(goto-char (point-min)) is faster and avoids clobbering the mark." | ||
| 756 | (interactive "P") | ||
| 757 | (pc-select-maybe-deactivate-mark) | ||
| 758 | (let ((size (- (point-max) (point-min)))) | ||
| 759 | (goto-char (if arg | ||
| 760 | (+ (point-min) | ||
| 761 | (if (> size 10000) | ||
| 762 | ;; Avoid overflow for large buffer sizes! | ||
| 763 | (* (prefix-numeric-value arg) | ||
| 764 | (/ size 10)) | ||
| 765 | (/ (+ 10 (* size (prefix-numeric-value arg))) 10))) | ||
| 766 | (point-min)))) | ||
| 767 | (if arg (forward-line 1))) | ||
| 768 | |||
| 769 | |||
| 770 | (defun pc-select-define-keys (alist keymap) | ||
| 771 | "Make KEYMAP have the key bindings specified in ALIST." | ||
| 772 | (let ((lst alist)) | ||
| 773 | (while lst | ||
| 774 | (define-key keymap (caar lst) (cdar lst)) | ||
| 775 | (setq lst (cdr lst))))) | ||
| 776 | |||
| 777 | (defun pc-select-restore-keys (alist keymap saved-map) | ||
| 778 | "Use ALIST to restore key bindings from SAVED-MAP into KEYMAP. | ||
| 779 | Go through all the key bindings in ALIST, and, for each key | ||
| 780 | binding, if KEYMAP and ALIST still agree on the key binding, | ||
| 781 | restore the previous value of that key binding from SAVED-MAP." | ||
| 782 | (let ((lst alist)) | ||
| 783 | (while lst | ||
| 784 | (when (equal (lookup-key keymap (caar lst)) (cdar lst)) | ||
| 785 | (define-key keymap (caar lst) (lookup-key saved-map (caar lst)))) | ||
| 786 | (setq lst (cdr lst))))) | ||
| 787 | |||
| 788 | (defmacro pc-select-add-to-alist (alist var val) | ||
| 789 | "Ensure that ALIST contains the cons cell (VAR . VAL). | ||
| 790 | If a cons cell whose car is VAR is already on the ALIST, update the | ||
| 791 | cdr of that cell with VAL. Otherwise, make a new cons cell | ||
| 792 | \(VAR . VAL), and prepend it onto ALIST." | ||
| 793 | (let ((elt (make-symbol "elt"))) | ||
| 794 | `(let ((,elt (assq ',var ,alist))) | ||
| 795 | (if ,elt | ||
| 796 | (setcdr ,elt ,val) | ||
| 797 | (setq ,alist (cons (cons ',var ,val) ,alist)))))) | ||
| 798 | |||
| 799 | (defmacro pc-select-save-and-set-var (var newval) | ||
| 800 | "Set VAR to NEWVAL; save the old value. | ||
| 801 | The old value is saved on the `pc-select-saved-settings-alist'." | ||
| 802 | `(when (boundp ',var) | ||
| 803 | (pc-select-add-to-alist pc-select-saved-settings-alist ,var ,var) | ||
| 804 | (setq ,var ,newval))) | ||
| 805 | |||
| 806 | (defmacro pc-select-save-and-set-mode (mode &optional arg mode-var) | ||
| 807 | "Call the function MODE; save the old value of the variable MODE. | ||
| 808 | MODE is presumed to be a function which turns on a minor mode. First, | ||
| 809 | save the value of the variable MODE on `pc-select-saved-settings-alist'. | ||
| 810 | Then, if ARG is specified, call MODE with ARG, otherwise call it with | ||
| 811 | nil as an argument. If MODE-VAR is specified, save the value of the | ||
| 812 | variable MODE-VAR (instead of the value of the variable MODE) on | ||
| 813 | `pc-select-saved-settings-alist'." | ||
| 814 | (unless mode-var (setq mode-var mode)) | ||
| 815 | `(when (fboundp ',mode) | ||
| 816 | (pc-select-add-to-alist pc-select-saved-settings-alist | ||
| 817 | ,mode-var ,mode-var) | ||
| 818 | (,mode ,arg))) | ||
| 819 | |||
| 820 | (defmacro pc-select-restore-var (var) | ||
| 821 | "Restore the previous value of the variable VAR. | ||
| 822 | Look up VAR's previous value in `pc-select-saved-settings-alist', and, | ||
| 823 | if the value is found, set VAR to that value." | ||
| 824 | (let ((elt (make-symbol "elt"))) | ||
| 825 | `(let ((,elt (assq ',var pc-select-saved-settings-alist))) | ||
| 826 | (unless (null ,elt) | ||
| 827 | (setq ,var (cdr ,elt)))))) | ||
| 828 | |||
| 829 | (defmacro pc-select-restore-mode (mode) | ||
| 830 | "Restore the previous state (either on or off) of the minor mode MODE. | ||
| 831 | Look up the value of the variable MODE on `pc-select-saved-settings-alist'. | ||
| 832 | If the value is non-nil, call the function MODE with an argument of | ||
| 833 | 1, otherwise call it with an argument of -1." | ||
| 834 | (let ((elt (make-symbol "elt"))) | ||
| 835 | `(when (fboundp ',mode) | ||
| 836 | (let ((,elt (assq ',mode pc-select-saved-settings-alist))) | ||
| 837 | (unless (null ,elt) | ||
| 838 | (,mode (if (cdr ,elt) 1 -1))))))) | ||
| 839 | |||
| 840 | |||
| 841 | ;;;###autoload | ||
| 842 | (define-minor-mode pc-selection-mode | ||
| 843 | "Change mark behavior to emulate Motif, Mac or MS-Windows cut and paste style. | ||
| 844 | |||
| 845 | This mode enables Delete Selection mode and Transient Mark mode. | ||
| 846 | |||
| 847 | The arrow keys (and others) are bound to new functions | ||
| 848 | which modify the status of the mark. | ||
| 849 | |||
| 850 | The ordinary arrow keys disable the mark. | ||
| 851 | The shift-arrow keys move, leaving the mark behind. | ||
| 852 | |||
| 853 | C-LEFT and C-RIGHT move back or forward one word, disabling the mark. | ||
| 854 | S-C-LEFT and S-C-RIGHT move back or forward one word, leaving the mark behind. | ||
| 855 | |||
| 856 | M-LEFT and M-RIGHT move back or forward one word or sexp, disabling the mark. | ||
| 857 | S-M-LEFT and S-M-RIGHT move back or forward one word or sexp, leaving the mark | ||
| 858 | behind. To control whether these keys move word-wise or sexp-wise set the | ||
| 859 | variable `pc-select-meta-moves-sexps' after loading pc-select.el but before | ||
| 860 | turning PC Selection mode on. | ||
| 861 | |||
| 862 | C-DOWN and C-UP move back or forward a paragraph, disabling the mark. | ||
| 863 | S-C-DOWN and S-C-UP move back or forward a paragraph, leaving the mark behind. | ||
| 864 | |||
| 865 | HOME moves to beginning of line, disabling the mark. | ||
| 866 | S-HOME moves to beginning of line, leaving the mark behind. | ||
| 867 | With Ctrl or Meta, these keys move to beginning of buffer instead. | ||
| 868 | |||
| 869 | END moves to end of line, disabling the mark. | ||
| 870 | S-END moves to end of line, leaving the mark behind. | ||
| 871 | With Ctrl or Meta, these keys move to end of buffer instead. | ||
| 872 | |||
| 873 | PRIOR or PAGE-UP scrolls and disables the mark. | ||
| 874 | S-PRIOR or S-PAGE-UP scrolls and leaves the mark behind. | ||
| 875 | |||
| 876 | S-DELETE kills the region (`kill-region'). | ||
| 877 | S-INSERT yanks text from the kill ring (`yank'). | ||
| 878 | C-INSERT copies the region into the kill ring (`copy-region-as-kill'). | ||
| 879 | |||
| 880 | In addition, certain other PC bindings are imitated (to avoid this, set | ||
| 881 | the variable `pc-select-selection-keys-only' to t after loading pc-select.el | ||
| 882 | but before calling PC Selection mode): | ||
| 883 | |||
| 884 | F6 other-window | ||
| 885 | DELETE delete-char | ||
| 886 | C-DELETE kill-line | ||
| 887 | M-DELETE kill-word | ||
| 888 | C-M-DELETE kill-sexp | ||
| 889 | C-BACKSPACE backward-kill-word | ||
| 890 | M-BACKSPACE undo" | ||
| 891 | ;; FIXME: bring pc-bindings-mode here ? | ||
| 892 | nil nil nil | ||
| 893 | |||
| 894 | :group 'pc-select | ||
| 895 | :global t | ||
| 896 | |||
| 897 | (if pc-selection-mode | ||
| 898 | (if (null pc-select-key-bindings-alist) | ||
| 899 | (progn | ||
| 900 | (setq pc-select-saved-global-map (copy-keymap (current-global-map))) | ||
| 901 | (setq pc-select-key-bindings-alist | ||
| 902 | (append pc-select-default-key-bindings | ||
| 903 | (if pc-select-selection-keys-only | ||
| 904 | nil | ||
| 905 | pc-select-extra-key-bindings) | ||
| 906 | (if pc-select-meta-moves-sexps | ||
| 907 | (car pc-select-meta-moves-sexps-key-bindings) | ||
| 908 | (cadr pc-select-meta-moves-sexps-key-bindings)) | ||
| 909 | (if (or pc-select-selection-keys-only | ||
| 910 | (eq window-system 'x) | ||
| 911 | (memq system-name '(ms-dos windows-nt))) | ||
| 912 | nil | ||
| 913 | pc-select-tty-key-bindings))) | ||
| 914 | |||
| 915 | (pc-select-define-keys pc-select-key-bindings-alist | ||
| 916 | (current-global-map)) | ||
| 917 | |||
| 918 | (unless (or pc-select-selection-keys-only | ||
| 919 | (eq window-system 'x) | ||
| 920 | (memq system-name '(ms-dos windows-nt))) | ||
| 921 | ;; it is not clear that we need the following line | ||
| 922 | ;; I hope it doesn't do too much harm to leave it in, though... | ||
| 923 | (setq pc-select-old-M-delete-binding | ||
| 924 | (lookup-key function-key-map [M-delete])) | ||
| 925 | (define-key function-key-map [M-delete] [?\M-d])) | ||
| 926 | |||
| 927 | (when (and (not pc-select-selection-keys-only) | ||
| 928 | (or (eq window-system 'x) | ||
| 929 | (memq system-name '(ms-dos windows-nt))) | ||
| 930 | (fboundp 'normal-erase-is-backspace-mode)) | ||
| 931 | (pc-select-save-and-set-mode normal-erase-is-backspace-mode 1 | ||
| 932 | normal-erase-is-backspace)) | ||
| 933 | ;; the original author also had this above: | ||
| 934 | ;; (setq-default normal-erase-is-backspace t) | ||
| 935 | ;; However, the documentation for the variable says that | ||
| 936 | ;; "setting it with setq has no effect", so I'm removing it. | ||
| 937 | |||
| 938 | (pc-select-save-and-set-var highlight-nonselected-windows nil) | ||
| 939 | (pc-select-save-and-set-var transient-mark-mode t) | ||
| 940 | (pc-select-save-and-set-var mark-even-if-inactive t) | ||
| 941 | (pc-select-save-and-set-mode delete-selection-mode 1)) | ||
| 942 | ;;else | ||
| 943 | ;; If the user turned on pc-selection-mode a second time | ||
| 944 | ;; do not clobber the values of the variables that were | ||
| 945 | ;; saved from before pc-selection mode was activated -- | ||
| 946 | ;; just make sure the values are the way we like them. | ||
| 947 | (pc-select-define-keys pc-select-key-bindings-alist | ||
| 948 | (current-global-map)) | ||
| 949 | (unless (or pc-select-selection-keys-only | ||
| 950 | (eq window-system 'x) | ||
| 951 | (memq system-name '(ms-dos windows-nt))) | ||
| 952 | ;; it is not clear that we need the following line | ||
| 953 | ;; I hope it doesn't do too much harm to leave it in, though... | ||
| 954 | (define-key function-key-map [M-delete] [?\M-d])) | ||
| 955 | (when (and (not pc-select-selection-keys-only) | ||
| 956 | (or (eq window-system 'x) | ||
| 957 | (memq system-name '(ms-dos windows-nt))) | ||
| 958 | (fboundp 'normal-erase-is-backspace-mode)) | ||
| 959 | (normal-erase-is-backspace-mode 1)) | ||
| 960 | (setq highlight-nonselected-windows nil) | ||
| 961 | (setq transient-mark-mode t) | ||
| 962 | (setq mark-even-if-inactive t) | ||
| 963 | (delete-selection-mode 1)) | ||
| 964 | ;;else | ||
| 965 | (when pc-select-key-bindings-alist | ||
| 966 | (when (and (not pc-select-selection-keys-only) | ||
| 967 | (or (eq window-system 'x) | ||
| 968 | (memq system-name '(ms-dos windows-nt)))) | ||
| 969 | (pc-select-restore-mode normal-erase-is-backspace-mode)) | ||
| 970 | |||
| 971 | (pc-select-restore-keys | ||
| 972 | pc-select-key-bindings-alist (current-global-map) | ||
| 973 | pc-select-saved-global-map) | ||
| 974 | |||
| 975 | (pc-select-restore-var highlight-nonselected-windows) | ||
| 976 | (pc-select-restore-var transient-mark-mode) | ||
| 977 | (pc-select-restore-var mark-even-if-inactive) | ||
| 978 | (pc-select-restore-mode delete-selection-mode) | ||
| 979 | (and pc-select-old-M-delete-binding | ||
| 980 | (define-key function-key-map [M-delete] | ||
| 981 | pc-select-old-M-delete-binding)) | ||
| 982 | (setq pc-select-key-bindings-alist nil | ||
| 983 | pc-select-saved-settings-alist nil)))) | ||
| 984 | |||
| 985 | ;;; pc-select.el ends here | ||
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index ee81bc48693..b7cf79cc3cb 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2011-02-07 Julien Danjou <julien@danjou.info> | ||
| 2 | |||
| 3 | * erc-track.el (erc-window-configuration-change): New function. | ||
| 4 | This will allow to track buffer visibility when a command is | ||
| 5 | finished to executed. Idea stolen from rcirc. | ||
| 6 | (track): Put erc-window-configuration-change in | ||
| 7 | window-configuration-change-hook. | ||
| 8 | (erc-modified-channels-update): Remove | ||
| 9 | erc-modified-channels-update from post-command-hook after update. | ||
| 10 | |||
| 1 | 2011-01-31 Antoine Levitt <antoine.levitt@gmail.com> (tiny change) | 11 | 2011-01-31 Antoine Levitt <antoine.levitt@gmail.com> (tiny change) |
| 2 | 12 | ||
| 3 | * erc-track.el (track): Don't reset erc-modified-channels-object | 13 | * erc-track.el (track): Don't reset erc-modified-channels-object |
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el index de920eb9c33..a89244f695d 100644 --- a/lisp/erc/erc-track.el +++ b/lisp/erc/erc-track.el | |||
| @@ -653,7 +653,7 @@ module, otherwise the keybindings will not do anything useful." | |||
| 653 | (defadvice switch-to-buffer (after erc-update (&rest args) activate) | 653 | (defadvice switch-to-buffer (after erc-update (&rest args) activate) |
| 654 | (erc-modified-channels-update)) | 654 | (erc-modified-channels-update)) |
| 655 | (add-hook 'window-configuration-change-hook | 655 | (add-hook 'window-configuration-change-hook |
| 656 | 'erc-modified-channels-update)) | 656 | 'erc-window-configuration-change)) |
| 657 | (add-hook 'erc-insert-post-hook 'erc-track-modified-channels) | 657 | (add-hook 'erc-insert-post-hook 'erc-track-modified-channels) |
| 658 | (add-hook 'erc-disconnected-hook 'erc-modified-channels-update)) | 658 | (add-hook 'erc-disconnected-hook 'erc-modified-channels-update)) |
| 659 | ;; enable the tracking keybindings | 659 | ;; enable the tracking keybindings |
| @@ -675,7 +675,7 @@ module, otherwise the keybindings will not do anything useful." | |||
| 675 | (if (featurep 'xemacs) | 675 | (if (featurep 'xemacs) |
| 676 | (ad-disable-advice 'switch-to-buffer 'after 'erc-update) | 676 | (ad-disable-advice 'switch-to-buffer 'after 'erc-update) |
| 677 | (remove-hook 'window-configuration-change-hook | 677 | (remove-hook 'window-configuration-change-hook |
| 678 | 'erc-modified-channels-update)) | 678 | 'erc-window-configuration-change)) |
| 679 | (remove-hook 'erc-disconnected-hook 'erc-modified-channels-update) | 679 | (remove-hook 'erc-disconnected-hook 'erc-modified-channels-update) |
| 680 | (remove-hook 'erc-insert-post-hook 'erc-track-modified-channels)) | 680 | (remove-hook 'erc-insert-post-hook 'erc-track-modified-channels)) |
| 681 | ;; disable the tracking keybindings | 681 | ;; disable the tracking keybindings |
| @@ -730,6 +730,12 @@ only consider active buffers visible.") | |||
| 730 | 730 | ||
| 731 | ;;; Tracking the channel modifications | 731 | ;;; Tracking the channel modifications |
| 732 | 732 | ||
| 733 | (defun erc-window-configuration-change () | ||
| 734 | (unless (minibuffer-window-active-p (minibuffer-window)) | ||
| 735 | ;; delay this until command has finished to make sure window is | ||
| 736 | ;; actually visible before clearing activity | ||
| 737 | (add-hook 'post-command-hook 'erc-modified-channels-update))) | ||
| 738 | |||
| 733 | (defvar erc-modified-channels-update-inside nil | 739 | (defvar erc-modified-channels-update-inside nil |
| 734 | "Variable to prevent running `erc-modified-channels-update' multiple | 740 | "Variable to prevent running `erc-modified-channels-update' multiple |
| 735 | times. Without it, you cannot debug `erc-modified-channels-display', | 741 | times. Without it, you cannot debug `erc-modified-channels-display', |
| @@ -757,8 +763,9 @@ ARGS are ignored." | |||
| 757 | (erc-modified-channels-remove-buffer buffer)))) | 763 | (erc-modified-channels-remove-buffer buffer)))) |
| 758 | erc-modified-channels-alist) | 764 | erc-modified-channels-alist) |
| 759 | (when removed-channel | 765 | (when removed-channel |
| 760 | (erc-modified-channels-display) | 766 | (erc-modified-channels-display) |
| 761 | (force-mode-line-update t))))) | 767 | (force-mode-line-update t))) |
| 768 | (remove-hook 'post-command-hook 'erc-modified-channels-update))) | ||
| 762 | 769 | ||
| 763 | (defvar erc-track-mouse-face (if (featurep 'xemacs) | 770 | (defvar erc-track-mouse-face (if (featurep 'xemacs) |
| 764 | 'modeline-mousable | 771 | 'modeline-mousable |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index a18f145cb68..ba4d270951b 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2011-02-09 Lars Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * nntp.el (nntp-retrieve-group-data-early-disabled): Disable the async | ||
| 4 | code for now, since it doesn't work for all users. | ||
| 5 | |||
| 6 | 2011-02-09 Julien Danjou <julien@danjou.info> | ||
| 7 | |||
| 8 | * message.el (message-options): Make message-options really buffer | ||
| 9 | local. | ||
| 10 | |||
| 11 | 2011-02-08 Julien Danjou <julien@danjou.info> | ||
| 12 | |||
| 13 | * shr.el (shr-tag-body): Add support for text attribute in body | ||
| 14 | markups. | ||
| 15 | |||
| 16 | * message.el (message-options): Make message-options a local variable. | ||
| 17 | |||
| 1 | 2011-02-07 Lars Ingebrigtsen <larsi@gnus.org> | 18 | 2011-02-07 Lars Ingebrigtsen <larsi@gnus.org> |
| 2 | 19 | ||
| 3 | * nnimap.el (nnimap-update-info): Refactor slightly. | 20 | * nnimap.el (nnimap-update-info): Refactor slightly. |
| @@ -7,6 +24,7 @@ | |||
| 7 | characters. | 24 | characters. |
| 8 | (nnimap-process-quirk): Renamed function to avoid collision. | 25 | (nnimap-process-quirk): Renamed function to avoid collision. |
| 9 | (nnimap-update-info): Fix macrology bug-out. | 26 | (nnimap-update-info): Fix macrology bug-out. |
| 27 | (nnimap-update-info): Simplify split history test. | ||
| 10 | 28 | ||
| 11 | 2011-02-06 Lars Ingebrigtsen <larsi@gnus.org> | 29 | 2011-02-06 Lars Ingebrigtsen <larsi@gnus.org> |
| 12 | 30 | ||
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 3ba57caba4f..e30f7f2c973 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -1814,6 +1814,7 @@ You must have the \"hashcash\" binary installed, see `hashcash-path'." | |||
| 1814 | 1814 | ||
| 1815 | (defvar message-options nil | 1815 | (defvar message-options nil |
| 1816 | "Some saved answers when sending message.") | 1816 | "Some saved answers when sending message.") |
| 1817 | (make-variable-buffer-local 'message-options) | ||
| 1817 | 1818 | ||
| 1818 | (defvar message-send-mail-real-function nil | 1819 | (defvar message-send-mail-real-function nil |
| 1819 | "Internal send mail function.") | 1820 | "Internal send mail function.") |
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 127082bc28f..a6fe6b1489b 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el | |||
| @@ -1342,13 +1342,11 @@ textual parts.") | |||
| 1342 | ;; Tell Gnus whether there are any \Recent messages in any of | 1342 | ;; Tell Gnus whether there are any \Recent messages in any of |
| 1343 | ;; the groups. | 1343 | ;; the groups. |
| 1344 | (let ((recent (cdr (assoc '%Recent flags)))) | 1344 | (let ((recent (cdr (assoc '%Recent flags)))) |
| 1345 | (when (and active recent) | 1345 | (when (and active |
| 1346 | (while recent | 1346 | recent |
| 1347 | (when (> (car recent) (cdr active)) | 1347 | (> (car (last recent)) (cdr active))) |
| 1348 | (push (list (cons (gnus-group-real-name group) 0)) | 1348 | (push (list (cons (gnus-group-real-name group) 0)) |
| 1349 | nnmail-split-history) | 1349 | nnmail-split-history))) |
| 1350 | (setq recent nil)) | ||
| 1351 | (pop recent)))) | ||
| 1352 | ;; Note the active level for the next run-through. | 1350 | ;; Note the active level for the next run-through. |
| 1353 | (gnus-group-set-parameter info 'active (gnus-active group)) | 1351 | (gnus-group-set-parameter info 'active (gnus-active group)) |
| 1354 | (gnus-group-set-parameter info 'uidvalidity uidvalidity) | 1352 | (gnus-group-set-parameter info 'uidvalidity uidvalidity) |
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index 0e009b2068b..eb2dd004638 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el | |||
| @@ -774,7 +774,7 @@ command whose response triggered the error." | |||
| 774 | (nntp-copy-to-buffer nntp-server-buffer (point-min) (point-max)) | 774 | (nntp-copy-to-buffer nntp-server-buffer (point-min) (point-max)) |
| 775 | 'headers))))) | 775 | 'headers))))) |
| 776 | 776 | ||
| 777 | (deffoo nntp-retrieve-group-data-early (server infos) | 777 | (deffoo nntp-retrieve-group-data-early-disabled (server infos) |
| 778 | "Retrieve group info on INFOS." | 778 | "Retrieve group info on INFOS." |
| 779 | (nntp-with-open-group nil server | 779 | (nntp-with-open-group nil server |
| 780 | (when (nntp-find-connection-buffer nntp-server-buffer) | 780 | (when (nntp-find-connection-buffer nntp-server-buffer) |
| @@ -793,7 +793,7 @@ command whose response triggered the error." | |||
| 793 | nil command (gnus-group-real-name (gnus-info-group info))))) | 793 | nil command (gnus-group-real-name (gnus-info-group info))))) |
| 794 | (length infos))))) | 794 | (length infos))))) |
| 795 | 795 | ||
| 796 | (deffoo nntp-finish-retrieve-group-infos (server infos count) | 796 | (deffoo nntp-finish-retrieve-group-infos-disabled (server infos count) |
| 797 | (nntp-with-open-group nil server | 797 | (nntp-with-open-group nil server |
| 798 | (let ((buf (nntp-find-connection-buffer nntp-server-buffer)) | 798 | (let ((buf (nntp-find-connection-buffer nntp-server-buffer)) |
| 799 | (method (gnus-find-method-for-group | 799 | (method (gnus-find-method-for-group |
diff --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el index 5b4e6c7389d..bb9695ebb72 100644 --- a/lisp/gnus/shr.el +++ b/lisp/gnus/shr.el | |||
| @@ -696,7 +696,8 @@ ones, in case fg and bg are nil." | |||
| 696 | 696 | ||
| 697 | (defun shr-tag-body (cont) | 697 | (defun shr-tag-body (cont) |
| 698 | (let* ((start (point)) | 698 | (let* ((start (point)) |
| 699 | (fgcolor (cdr (assq :fgcolor cont))) | 699 | (fgcolor (cdr (or (assq :fgcolor cont) |
| 700 | (assq :text cont)))) | ||
| 700 | (bgcolor (cdr (assq :bgcolor cont))) | 701 | (bgcolor (cdr (assq :bgcolor cont))) |
| 701 | (shr-stylesheet (list (cons 'color fgcolor) | 702 | (shr-stylesheet (list (cons 'color fgcolor) |
| 702 | (cons 'background-color bgcolor)))) | 703 | (cons 'background-color bgcolor)))) |
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index 3e5b301cbfb..04048e0e572 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el | |||
| @@ -2638,7 +2638,7 @@ will be inserted before the group at point." | |||
| 2638 | ;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group | 2638 | ;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group |
| 2639 | ;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group | 2639 | ;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group |
| 2640 | ;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode | 2640 | ;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode |
| 2641 | ;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "f163e17664a89a6f0aa2b15bfaaa65a4") | 2641 | ;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "eb3de21aef70e4ca75f611f1c3c56aa1") |
| 2642 | ;;; Generated autoloads from ibuf-ext.el | 2642 | ;;; Generated autoloads from ibuf-ext.el |
| 2643 | 2643 | ||
| 2644 | (autoload 'ibuffer-auto-mode "ibuf-ext" "\ | 2644 | (autoload 'ibuffer-auto-mode "ibuf-ext" "\ |
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index 21934ce8b01..62fa7eb0feb 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el | |||
| @@ -2185,14 +2185,23 @@ With a prefix arg, prompt for new topic." | |||
| 2185 | 2185 | ||
| 2186 | (defun rcirc-cmd-ctcp (args &optional process target) | 2186 | (defun rcirc-cmd-ctcp (args &optional process target) |
| 2187 | (if (string-match "^\\([^ ]+\\)\\s-+\\(.+\\)$" args) | 2187 | (if (string-match "^\\([^ ]+\\)\\s-+\\(.+\\)$" args) |
| 2188 | (let ((target (match-string 1 args)) | 2188 | (let* ((target (match-string 1 args)) |
| 2189 | (request (match-string 2 args))) | 2189 | (request (upcase (match-string 2 args))) |
| 2190 | (rcirc-send-string process | 2190 | (function (intern-soft (concat "rcirc-ctcp-sender-" request)))) |
| 2191 | (format "PRIVMSG %s \C-a%s\C-a" | 2191 | (if (fboundp function) ;; use special function if available |
| 2192 | target (upcase request)))) | 2192 | (funcall function process target request) |
| 2193 | (rcirc-send-string process | ||
| 2194 | (format "PRIVMSG %s :\C-a%s\C-a" | ||
| 2195 | target request)))) | ||
| 2193 | (rcirc-print process (rcirc-nick process) "ERROR" nil | 2196 | (rcirc-print process (rcirc-nick process) "ERROR" nil |
| 2194 | "usage: /ctcp NICK REQUEST"))) | 2197 | "usage: /ctcp NICK REQUEST"))) |
| 2195 | 2198 | ||
| 2199 | (defun rcirc-ctcp-sender-PING (process target request) | ||
| 2200 | "Send a CTCP PING message to TARGET." | ||
| 2201 | (let ((timestamp (format "%.0f" (float-time)))) | ||
| 2202 | (rcirc-send-string process | ||
| 2203 | (format "PRIVMSG %s :\C-aPING %s\C-a" target timestamp)))) | ||
| 2204 | |||
| 2196 | (defun rcirc-cmd-me (args &optional process target) | 2205 | (defun rcirc-cmd-me (args &optional process target) |
| 2197 | (rcirc-send-string process (format "PRIVMSG %s :\C-aACTION %s\C-a" | 2206 | (rcirc-send-string process (format "PRIVMSG %s :\C-aACTION %s\C-a" |
| 2198 | target args))) | 2207 | target args))) |
diff --git a/lisp/emulation/pc-mode.el b/lisp/obsolete/pc-mode.el index c0ed1925b49..192392d3821 100644 --- a/lisp/emulation/pc-mode.el +++ b/lisp/obsolete/pc-mode.el | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | ;; Maintainer: FSF | 5 | ;; Maintainer: FSF |
| 6 | ;; Keywords: emulations | 6 | ;; Keywords: emulations |
| 7 | ;; Obsolete-since: 24.1 | ||
| 7 | 8 | ||
| 8 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
| 9 | 10 | ||
diff --git a/lisp/obsolete/pc-select.el b/lisp/obsolete/pc-select.el new file mode 100644 index 00000000000..9a5f9e9d9dc --- /dev/null +++ b/lisp/obsolete/pc-select.el | |||
| @@ -0,0 +1,417 @@ | |||
| 1 | ;;; pc-select.el --- emulate mark, cut, copy and paste from Motif | ||
| 2 | ;;; (or MAC GUI or MS-windoze (bah)) look-and-feel | ||
| 3 | ;;; including key bindings. | ||
| 4 | |||
| 5 | ;; Copyright (C) 1995-1997, 2000-2011 Free Software Foundation, Inc. | ||
| 6 | |||
| 7 | ;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE> | ||
| 8 | ;; Keywords: convenience emulations | ||
| 9 | ;; Created: 26 Sep 1995 | ||
| 10 | ;; Obsolete-since: 24.1 | ||
| 11 | |||
| 12 | ;; This file is part of GNU Emacs. | ||
| 13 | |||
| 14 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 15 | ;; it under the terms of the GNU General Public License as published by | ||
| 16 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 17 | ;; (at your option) any later version. | ||
| 18 | |||
| 19 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 20 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 21 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 22 | ;; GNU General Public License for more details. | ||
| 23 | |||
| 24 | ;; You should have received a copy of the GNU General Public License | ||
| 25 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 26 | |||
| 27 | ;;; Commentary: | ||
| 28 | |||
| 29 | ;; This package emulates the mark, copy, cut and paste look-and-feel of motif | ||
| 30 | ;; programs (which is the same as the MAC gui and (sorry for that) MS-Windows). | ||
| 31 | ;; It modifies the keybindings of the cursor keys and the next, prior, | ||
| 32 | ;; home and end keys. They will modify mark-active. | ||
| 33 | ;; You can still get the old behavior of cursor moving with the | ||
| 34 | ;; control sequences C-f, C-b, etc. | ||
| 35 | ;; This package uses transient-mark-mode and | ||
| 36 | ;; delete-selection-mode. | ||
| 37 | ;; | ||
| 38 | ;; In addition to that all key-bindings from the pc-mode are | ||
| 39 | ;; done here too (as suggested by RMS). | ||
| 40 | ;; | ||
| 41 | ;; As I found out after I finished the first version, s-region.el tries | ||
| 42 | ;; to do the same.... But my code is a little more complete and using | ||
| 43 | ;; delete-selection-mode is very important for the look-and-feel. | ||
| 44 | ;; Pete Forman <pete.forman@airgun.wg.waii.com> provided some motif | ||
| 45 | ;; compliant keybindings which I added. I had to modify them a little | ||
| 46 | ;; to add the -mark and -nomark functionality of cursor moving. | ||
| 47 | ;; | ||
| 48 | ;; Credits: | ||
| 49 | ;; Many thanks to all who made comments. | ||
| 50 | ;; Thanks to RMS and Ralf Muschall <prm@rz.uni-jena.de> for criticism. | ||
| 51 | ;; Kevin Cutts <cutts@ukraine.corp.mot.com> added the beginning-of-buffer | ||
| 52 | ;; and end-of-buffer functions which I modified a little. | ||
| 53 | ;; David Biesack <sasdjb@unx.sas.com> suggested some more cleanup. | ||
| 54 | ;; Thanks to Pete Forman <pete.forman@airgun.wg.waii.com> | ||
| 55 | ;; for additional motif keybindings. | ||
| 56 | ;; Thanks to jvromans@squirrel.nl (Johan Vromans) for a bug report | ||
| 57 | ;; concerning setting of this-command. | ||
| 58 | ;; Dan Nicolaescu <done@ece.arizona.ro> suggested suppressing the | ||
| 59 | ;; scroll-up/scroll-down error. | ||
| 60 | ;; Eli Barzilay (eli@cs.bgu.ac.il) suggested the sexps functions and | ||
| 61 | ;; keybindings. | ||
| 62 | ;; | ||
| 63 | ;; Ok, some details about the idea of PC Selection mode: | ||
| 64 | ;; | ||
| 65 | ;; o The standard keys for moving around (right, left, up, down, home, end, | ||
| 66 | ;; prior, next, called "move-keys" from now on) will always de-activate | ||
| 67 | ;; the mark. | ||
| 68 | ;; o If you press "Shift" together with the "move-keys", the region | ||
| 69 | ;; you pass along is activated | ||
| 70 | ;; o You have the copy, cut and paste functions (as in many other programs) | ||
| 71 | ;; which will operate on the active region | ||
| 72 | ;; It was not possible to bind them to C-v, C-x and C-c for obvious | ||
| 73 | ;; emacs reasons. | ||
| 74 | ;; They will be bound according to the "old" behavior to S-delete (cut), | ||
| 75 | ;; S-insert (paste) and C-insert (copy). These keys do the same in many | ||
| 76 | ;; other programs. | ||
| 77 | ;; | ||
| 78 | |||
| 79 | ;;; Code: | ||
| 80 | |||
| 81 | ;; Customization: | ||
| 82 | (defgroup pc-select nil | ||
| 83 | "Emulate pc bindings." | ||
| 84 | :prefix "pc-select" | ||
| 85 | :group 'emulations) | ||
| 86 | |||
| 87 | (define-obsolete-variable-alias 'pc-select-override-scroll-error | ||
| 88 | 'scroll-error-top-bottom | ||
| 89 | "24.1") | ||
| 90 | (defcustom pc-select-override-scroll-error t | ||
| 91 | "Non-nil means don't generate error on scrolling past edge of buffer. | ||
| 92 | This variable applies in PC Selection mode only. | ||
| 93 | The scroll commands normally generate an error if you try to scroll | ||
| 94 | past the top or bottom of the buffer. This is annoying when selecting | ||
| 95 | text with these commands. If you set this variable to non-nil, these | ||
| 96 | errors are suppressed." | ||
| 97 | :type 'boolean | ||
| 98 | :group 'pc-select) | ||
| 99 | |||
| 100 | (defcustom pc-select-selection-keys-only nil | ||
| 101 | "Non-nil means only bind the basic selection keys when started. | ||
| 102 | Other keys that emulate pc-behavior will be untouched. | ||
| 103 | This gives mostly Emacs-like behavior with only the selection keys enabled." | ||
| 104 | :type 'boolean | ||
| 105 | :group 'pc-select) | ||
| 106 | |||
| 107 | (defcustom pc-select-meta-moves-sexps nil | ||
| 108 | "Non-nil means move sexp-wise with Meta key, otherwise move word-wise." | ||
| 109 | :type 'boolean | ||
| 110 | :group 'pc-select) | ||
| 111 | |||
| 112 | (defcustom pc-selection-mode-hook nil | ||
| 113 | "The hook to run when PC Selection mode is toggled." | ||
| 114 | :type 'hook | ||
| 115 | :group 'pc-select) | ||
| 116 | |||
| 117 | (defvar pc-select-saved-settings-alist nil | ||
| 118 | "The values of the variables before PC Selection mode was toggled on. | ||
| 119 | When PC Selection mode is toggled on, it sets quite a few variables | ||
| 120 | for its own purposes. This alist holds the original values of the | ||
| 121 | variables PC Selection mode had set, so that these variables can be | ||
| 122 | restored to their original values when PC Selection mode is toggled off.") | ||
| 123 | |||
| 124 | (defvar pc-select-map nil | ||
| 125 | "The keymap used as the global map when PC Selection mode is on." ) | ||
| 126 | |||
| 127 | (defvar pc-select-saved-global-map nil | ||
| 128 | "The global map that was in effect when PC Selection mode was toggled on.") | ||
| 129 | |||
| 130 | (defvar pc-select-key-bindings-alist nil | ||
| 131 | "This alist holds all the key bindings PC Selection mode sets.") | ||
| 132 | |||
| 133 | (defvar pc-select-default-key-bindings nil | ||
| 134 | "These key bindings always get set by PC Selection mode.") | ||
| 135 | |||
| 136 | (defvar pc-select-extra-key-bindings | ||
| 137 | ;; The following keybindings are for standard ISO keyboards | ||
| 138 | ;; as they are used with IBM compatible PCs, IBM RS/6000, | ||
| 139 | ;; MACs, many X-Stations and probably more. | ||
| 140 | '(;; Commented out since it's been standard at least since Emacs-21. | ||
| 141 | ;;([S-insert] . yank) | ||
| 142 | ;;([C-insert] . copy-region-as-kill) | ||
| 143 | ;;([S-delete] . kill-region) | ||
| 144 | |||
| 145 | ;; The following bindings are useful on Sun Type 3 keyboards | ||
| 146 | ;; They implement the Get-Delete-Put (copy-cut-paste) | ||
| 147 | ;; functions from sunview on the L6, L8 and L10 keys | ||
| 148 | ;; Sam Steingold <sds@gnu.org> says that f16 is copy and f18 is paste. | ||
| 149 | ([f16] . copy-region-as-kill) | ||
| 150 | ([f18] . yank) | ||
| 151 | ([f20] . kill-region) | ||
| 152 | |||
| 153 | ;; The following bindings are from Pete Forman. | ||
| 154 | ([f6] . other-window) ; KNextPane F6 | ||
| 155 | ([C-delete] . kill-line) ; KEraseEndLine cDel | ||
| 156 | ("\M-\d" . undo) ; KUndo aBS | ||
| 157 | |||
| 158 | ;; The following binding is taken from pc-mode.el | ||
| 159 | ;; as suggested by RMS. | ||
| 160 | ;; I only used the one that is not covered above. | ||
| 161 | ([C-M-delete] . kill-sexp) | ||
| 162 | ;; Next line proposed by Eli Barzilay | ||
| 163 | ([C-escape] . electric-buffer-list)) | ||
| 164 | "Key bindings to set only if `pc-select-selection-keys-only' is nil.") | ||
| 165 | |||
| 166 | (defvar pc-select-meta-moves-sexps-key-bindings | ||
| 167 | '((([M-right] . forward-sexp) | ||
| 168 | ([M-left] . backward-sexp)) | ||
| 169 | (([M-right] . forward-word) | ||
| 170 | ([M-left] . backward-word))) | ||
| 171 | "The list of key bindings controlled by `pc-select-meta-moves-sexp'. | ||
| 172 | The bindings in the car of this list get installed if | ||
| 173 | `pc-select-meta-moves-sexp' is t, the bindings in the cadr of this | ||
| 174 | list get installed otherwise.") | ||
| 175 | |||
| 176 | ;; This is for tty. We don't turn on normal-erase-is-backspace, | ||
| 177 | ;; but bind keys as pc-selection-mode did before | ||
| 178 | ;; normal-erase-is-backspace was invented, to keep us back | ||
| 179 | ;; compatible. | ||
| 180 | (defvar pc-select-tty-key-bindings | ||
| 181 | '(([delete] . delete-char) ; KDelete Del | ||
| 182 | ([C-backspace] . backward-kill-word)) | ||
| 183 | "The list of key bindings controlled by `pc-select-selection-keys-only'. | ||
| 184 | These key bindings get installed when running in a tty, but only if | ||
| 185 | `pc-select-selection-keys-only' is nil.") | ||
| 186 | |||
| 187 | (defvar pc-select-old-M-delete-binding nil | ||
| 188 | "Holds the old mapping of [M-delete] in the `function-key-map'. | ||
| 189 | This variable holds the value associated with [M-delete] in the | ||
| 190 | `function-key-map' before PC Selection mode had changed that | ||
| 191 | association.") | ||
| 192 | |||
| 193 | ;;;; | ||
| 194 | ;; misc | ||
| 195 | ;;;; | ||
| 196 | |||
| 197 | (provide 'pc-select) | ||
| 198 | |||
| 199 | (defun pc-select-define-keys (alist keymap) | ||
| 200 | "Make KEYMAP have the key bindings specified in ALIST." | ||
| 201 | (let ((lst alist)) | ||
| 202 | (while lst | ||
| 203 | (define-key keymap (caar lst) (cdar lst)) | ||
| 204 | (setq lst (cdr lst))))) | ||
| 205 | |||
| 206 | (defun pc-select-restore-keys (alist keymap saved-map) | ||
| 207 | "Use ALIST to restore key bindings from SAVED-MAP into KEYMAP. | ||
| 208 | Go through all the key bindings in ALIST, and, for each key | ||
| 209 | binding, if KEYMAP and ALIST still agree on the key binding, | ||
| 210 | restore the previous value of that key binding from SAVED-MAP." | ||
| 211 | (let ((lst alist)) | ||
| 212 | (while lst | ||
| 213 | (when (equal (lookup-key keymap (caar lst)) (cdar lst)) | ||
| 214 | (define-key keymap (caar lst) (lookup-key saved-map (caar lst)))) | ||
| 215 | (setq lst (cdr lst))))) | ||
| 216 | |||
| 217 | (defmacro pc-select-add-to-alist (alist var val) | ||
| 218 | "Ensure that ALIST contains the cons cell (VAR . VAL). | ||
| 219 | If a cons cell whose car is VAR is already on the ALIST, update the | ||
| 220 | cdr of that cell with VAL. Otherwise, make a new cons cell | ||
| 221 | \(VAR . VAL), and prepend it onto ALIST." | ||
| 222 | (let ((elt (make-symbol "elt"))) | ||
| 223 | `(let ((,elt (assq ',var ,alist))) | ||
| 224 | (if ,elt | ||
| 225 | (setcdr ,elt ,val) | ||
| 226 | (setq ,alist (cons (cons ',var ,val) ,alist)))))) | ||
| 227 | |||
| 228 | (defmacro pc-select-save-and-set-var (var newval) | ||
| 229 | "Set VAR to NEWVAL; save the old value. | ||
| 230 | The old value is saved on the `pc-select-saved-settings-alist'." | ||
| 231 | `(when (boundp ',var) | ||
| 232 | (pc-select-add-to-alist pc-select-saved-settings-alist ,var ,var) | ||
| 233 | (setq ,var ,newval))) | ||
| 234 | |||
| 235 | (defmacro pc-select-save-and-set-mode (mode &optional arg mode-var) | ||
| 236 | "Call the function MODE; save the old value of the variable MODE. | ||
| 237 | MODE is presumed to be a function which turns on a minor mode. First, | ||
| 238 | save the value of the variable MODE on `pc-select-saved-settings-alist'. | ||
| 239 | Then, if ARG is specified, call MODE with ARG, otherwise call it with | ||
| 240 | nil as an argument. If MODE-VAR is specified, save the value of the | ||
| 241 | variable MODE-VAR (instead of the value of the variable MODE) on | ||
| 242 | `pc-select-saved-settings-alist'." | ||
| 243 | (unless mode-var (setq mode-var mode)) | ||
| 244 | `(when (fboundp ',mode) | ||
| 245 | (pc-select-add-to-alist pc-select-saved-settings-alist | ||
| 246 | ,mode-var ,mode-var) | ||
| 247 | (,mode ,arg))) | ||
| 248 | |||
| 249 | (defmacro pc-select-restore-var (var) | ||
| 250 | "Restore the previous value of the variable VAR. | ||
| 251 | Look up VAR's previous value in `pc-select-saved-settings-alist', and, | ||
| 252 | if the value is found, set VAR to that value." | ||
| 253 | (let ((elt (make-symbol "elt"))) | ||
| 254 | `(let ((,elt (assq ',var pc-select-saved-settings-alist))) | ||
| 255 | (unless (null ,elt) | ||
| 256 | (setq ,var (cdr ,elt)))))) | ||
| 257 | |||
| 258 | (defmacro pc-select-restore-mode (mode) | ||
| 259 | "Restore the previous state (either on or off) of the minor mode MODE. | ||
| 260 | Look up the value of the variable MODE on `pc-select-saved-settings-alist'. | ||
| 261 | If the value is non-nil, call the function MODE with an argument of | ||
| 262 | 1, otherwise call it with an argument of -1." | ||
| 263 | (let ((elt (make-symbol "elt"))) | ||
| 264 | `(when (fboundp ',mode) | ||
| 265 | (let ((,elt (assq ',mode pc-select-saved-settings-alist))) | ||
| 266 | (unless (null ,elt) | ||
| 267 | (,mode (if (cdr ,elt) 1 -1))))))) | ||
| 268 | |||
| 269 | |||
| 270 | ;;;###autoload | ||
| 271 | (define-minor-mode pc-selection-mode | ||
| 272 | "Change mark behavior to emulate Motif, Mac or MS-Windows cut and paste style. | ||
| 273 | |||
| 274 | This mode enables Delete Selection mode and Transient Mark mode. | ||
| 275 | |||
| 276 | The arrow keys (and others) are bound to new functions | ||
| 277 | which modify the status of the mark. | ||
| 278 | |||
| 279 | The ordinary arrow keys disable the mark. | ||
| 280 | The shift-arrow keys move, leaving the mark behind. | ||
| 281 | |||
| 282 | C-LEFT and C-RIGHT move back or forward one word, disabling the mark. | ||
| 283 | S-C-LEFT and S-C-RIGHT move back or forward one word, leaving the mark behind. | ||
| 284 | |||
| 285 | M-LEFT and M-RIGHT move back or forward one word or sexp, disabling the mark. | ||
| 286 | S-M-LEFT and S-M-RIGHT move back or forward one word or sexp, leaving the mark | ||
| 287 | behind. To control whether these keys move word-wise or sexp-wise set the | ||
| 288 | variable `pc-select-meta-moves-sexps' after loading pc-select.el but before | ||
| 289 | turning PC Selection mode on. | ||
| 290 | |||
| 291 | C-DOWN and C-UP move back or forward a paragraph, disabling the mark. | ||
| 292 | S-C-DOWN and S-C-UP move back or forward a paragraph, leaving the mark behind. | ||
| 293 | |||
| 294 | HOME moves to beginning of line, disabling the mark. | ||
| 295 | S-HOME moves to beginning of line, leaving the mark behind. | ||
| 296 | With Ctrl or Meta, these keys move to beginning of buffer instead. | ||
| 297 | |||
| 298 | END moves to end of line, disabling the mark. | ||
| 299 | S-END moves to end of line, leaving the mark behind. | ||
| 300 | With Ctrl or Meta, these keys move to end of buffer instead. | ||
| 301 | |||
| 302 | PRIOR or PAGE-UP scrolls and disables the mark. | ||
| 303 | S-PRIOR or S-PAGE-UP scrolls and leaves the mark behind. | ||
| 304 | |||
| 305 | S-DELETE kills the region (`kill-region'). | ||
| 306 | S-INSERT yanks text from the kill ring (`yank'). | ||
| 307 | C-INSERT copies the region into the kill ring (`copy-region-as-kill'). | ||
| 308 | |||
| 309 | In addition, certain other PC bindings are imitated (to avoid this, set | ||
| 310 | the variable `pc-select-selection-keys-only' to t after loading pc-select.el | ||
| 311 | but before calling PC Selection mode): | ||
| 312 | |||
| 313 | F6 other-window | ||
| 314 | DELETE delete-char | ||
| 315 | C-DELETE kill-line | ||
| 316 | M-DELETE kill-word | ||
| 317 | C-M-DELETE kill-sexp | ||
| 318 | C-BACKSPACE backward-kill-word | ||
| 319 | M-BACKSPACE undo" | ||
| 320 | ;; FIXME: bring pc-bindings-mode here ? | ||
| 321 | nil nil nil | ||
| 322 | |||
| 323 | :group 'pc-select | ||
| 324 | :global t | ||
| 325 | |||
| 326 | (if pc-selection-mode | ||
| 327 | (if (null pc-select-key-bindings-alist) | ||
| 328 | (progn | ||
| 329 | (setq pc-select-saved-global-map (copy-keymap (current-global-map))) | ||
| 330 | (setq pc-select-key-bindings-alist | ||
| 331 | (append pc-select-default-key-bindings | ||
| 332 | (if pc-select-selection-keys-only | ||
| 333 | nil | ||
| 334 | pc-select-extra-key-bindings) | ||
| 335 | (if pc-select-meta-moves-sexps | ||
| 336 | (car pc-select-meta-moves-sexps-key-bindings) | ||
| 337 | (cadr pc-select-meta-moves-sexps-key-bindings)) | ||
| 338 | (if (or pc-select-selection-keys-only | ||
| 339 | (eq window-system 'x) | ||
| 340 | (memq system-name '(ms-dos windows-nt))) | ||
| 341 | nil | ||
| 342 | pc-select-tty-key-bindings))) | ||
| 343 | |||
| 344 | (pc-select-define-keys pc-select-key-bindings-alist | ||
| 345 | (current-global-map)) | ||
| 346 | |||
| 347 | (unless (or pc-select-selection-keys-only | ||
| 348 | (eq window-system 'x) | ||
| 349 | (memq system-name '(ms-dos windows-nt))) | ||
| 350 | ;; it is not clear that we need the following line | ||
| 351 | ;; I hope it doesn't do too much harm to leave it in, though... | ||
| 352 | (setq pc-select-old-M-delete-binding | ||
| 353 | (lookup-key function-key-map [M-delete])) | ||
| 354 | (define-key function-key-map [M-delete] [?\M-d])) | ||
| 355 | |||
| 356 | (when (and (not pc-select-selection-keys-only) | ||
| 357 | (or (eq window-system 'x) | ||
| 358 | (memq system-name '(ms-dos windows-nt))) | ||
| 359 | (fboundp 'normal-erase-is-backspace-mode)) | ||
| 360 | (pc-select-save-and-set-mode normal-erase-is-backspace-mode 1 | ||
| 361 | normal-erase-is-backspace)) | ||
| 362 | ;; the original author also had this above: | ||
| 363 | ;; (setq-default normal-erase-is-backspace t) | ||
| 364 | ;; However, the documentation for the variable says that | ||
| 365 | ;; "setting it with setq has no effect", so I'm removing it. | ||
| 366 | |||
| 367 | (pc-select-save-and-set-var highlight-nonselected-windows nil) | ||
| 368 | (pc-select-save-and-set-var transient-mark-mode t) | ||
| 369 | (pc-select-save-and-set-var shift-select-mode t) | ||
| 370 | (pc-select-save-and-set-var mark-even-if-inactive t) | ||
| 371 | (pc-select-save-and-set-mode delete-selection-mode 1)) | ||
| 372 | ;;else | ||
| 373 | ;; If the user turned on pc-selection-mode a second time | ||
| 374 | ;; do not clobber the values of the variables that were | ||
| 375 | ;; saved from before pc-selection mode was activated -- | ||
| 376 | ;; just make sure the values are the way we like them. | ||
| 377 | (pc-select-define-keys pc-select-key-bindings-alist | ||
| 378 | (current-global-map)) | ||
| 379 | (unless (or pc-select-selection-keys-only | ||
| 380 | (eq window-system 'x) | ||
| 381 | (memq system-name '(ms-dos windows-nt))) | ||
| 382 | ;; it is not clear that we need the following line | ||
| 383 | ;; I hope it doesn't do too much harm to leave it in, though... | ||
| 384 | (define-key function-key-map [M-delete] [?\M-d])) | ||
| 385 | (when (and (not pc-select-selection-keys-only) | ||
| 386 | (or (eq window-system 'x) | ||
| 387 | (memq system-name '(ms-dos windows-nt))) | ||
| 388 | (fboundp 'normal-erase-is-backspace-mode)) | ||
| 389 | (normal-erase-is-backspace-mode 1)) | ||
| 390 | (setq highlight-nonselected-windows nil) | ||
| 391 | (setq transient-mark-mode t) | ||
| 392 | (setq mark-even-if-inactive t) | ||
| 393 | (delete-selection-mode 1)) | ||
| 394 | ;;else | ||
| 395 | (when pc-select-key-bindings-alist | ||
| 396 | (when (and (not pc-select-selection-keys-only) | ||
| 397 | (or (eq window-system 'x) | ||
| 398 | (memq system-name '(ms-dos windows-nt)))) | ||
| 399 | (pc-select-restore-mode normal-erase-is-backspace-mode)) | ||
| 400 | |||
| 401 | (pc-select-restore-keys | ||
| 402 | pc-select-key-bindings-alist (current-global-map) | ||
| 403 | pc-select-saved-global-map) | ||
| 404 | |||
| 405 | (pc-select-restore-var highlight-nonselected-windows) | ||
| 406 | (pc-select-restore-var transient-mark-mode) | ||
| 407 | (pc-select-restore-var shift-select-mode) | ||
| 408 | (pc-select-restore-var mark-even-if-inactive) | ||
| 409 | (pc-select-restore-mode delete-selection-mode) | ||
| 410 | (and pc-select-old-M-delete-binding | ||
| 411 | (define-key function-key-map [M-delete] | ||
| 412 | pc-select-old-M-delete-binding)) | ||
| 413 | (setq pc-select-key-bindings-alist nil | ||
| 414 | pc-select-saved-settings-alist nil)))) | ||
| 415 | (make-obsolete 'pc-selection-mode 'delete-selection-mode "24.1") | ||
| 416 | |||
| 417 | ;;; pc-select.el ends here | ||
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index d80d814156e..900072fe356 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -948,12 +948,12 @@ Point is at the beginning of the next line." | |||
| 948 | ;; We're looking at <<STRING, so we add "^STRING$" to the syntactic | 948 | ;; We're looking at <<STRING, so we add "^STRING$" to the syntactic |
| 949 | ;; font-lock keywords to detect the end of this here document. | 949 | ;; font-lock keywords to detect the end of this here document. |
| 950 | (let ((str (replace-regexp-in-string "['\"]" "" string)) | 950 | (let ((str (replace-regexp-in-string "['\"]" "" string)) |
| 951 | (ppss (save-excursion (syntax-ppss (1- (point)))))) | 951 | (ppss (save-excursion (syntax-ppss eol)))) |
| 952 | (if (nth 4 ppss) | 952 | (if (nth 4 ppss) |
| 953 | ;; The \n not only starts the heredoc but also closes a comment. | 953 | ;; The \n not only starts the heredoc but also closes a comment. |
| 954 | ;; Let's close the comment just before the \n. | 954 | ;; Let's close the comment just before the \n. |
| 955 | (put-text-property (1- (point)) (point) 'syntax-table '(12))) ;">" | 955 | (put-text-property (1- eol) eol 'syntax-table '(12))) ;">" |
| 956 | (if (or (nth 5 ppss) (> (count-lines start (point)) 1)) | 956 | (if (or (nth 5 ppss) (> (count-lines start eol) 1)) |
| 957 | ;; If the sh-escaped-line-re part of sh-here-doc-open-re has matched | 957 | ;; If the sh-escaped-line-re part of sh-here-doc-open-re has matched |
| 958 | ;; several lines, make sure we refontify them together. | 958 | ;; several lines, make sure we refontify them together. |
| 959 | ;; Furthermore, if (nth 5 ppss) is non-nil (i.e. the \n is | 959 | ;; Furthermore, if (nth 5 ppss) is non-nil (i.e. the \n is |
| @@ -961,7 +961,7 @@ Point is at the beginning of the next line." | |||
| 961 | ;; Don't bother fixing it now, but place a multiline property so | 961 | ;; Don't bother fixing it now, but place a multiline property so |
| 962 | ;; that when jit-lock-context-* refontifies the rest of the | 962 | ;; that when jit-lock-context-* refontifies the rest of the |
| 963 | ;; buffer, it also refontifies the current line with it. | 963 | ;; buffer, it also refontifies the current line with it. |
| 964 | (put-text-property start (point) 'syntax-multiline t)) | 964 | (put-text-property start (1+ eol) 'syntax-multiline t)) |
| 965 | (put-text-property eol (1+ eol) 'sh-here-doc-marker str) | 965 | (put-text-property eol (1+ eol) 'sh-here-doc-marker str) |
| 966 | (prog1 sh-here-doc-syntax | 966 | (prog1 sh-here-doc-syntax |
| 967 | (goto-char (+ 2 start)))))) | 967 | (goto-char (+ 2 start)))))) |
| @@ -1083,33 +1083,33 @@ subshells can nest." | |||
| 1083 | (defun sh-syntax-propertize-function (start end) | 1083 | (defun sh-syntax-propertize-function (start end) |
| 1084 | (goto-char start) | 1084 | (goto-char start) |
| 1085 | (sh-syntax-propertize-here-doc end) | 1085 | (sh-syntax-propertize-here-doc end) |
| 1086 | (funcall | 1086 | (funcall |
| 1087 | (syntax-propertize-rules | 1087 | (syntax-propertize-rules |
| 1088 | (sh-here-doc-open-re | 1088 | (sh-here-doc-open-re |
| 1089 | (2 (sh-font-lock-open-heredoc | 1089 | (2 (sh-font-lock-open-heredoc |
| 1090 | (match-beginning 0) (match-string 1) (match-beginning 2)))) | 1090 | (match-beginning 0) (match-string 1) (match-beginning 2)))) |
| 1091 | ("\\s|" (0 (prog1 nil (sh-syntax-propertize-here-doc end)))) | 1091 | ("\\s|" (0 (prog1 nil (sh-syntax-propertize-here-doc end)))) |
| 1092 | ;; A `#' begins a comment when it is unquoted and at the | 1092 | ;; A `#' begins a comment when it is unquoted and at the |
| 1093 | ;; beginning of a word. In the shell, words are separated by | 1093 | ;; beginning of a word. In the shell, words are separated by |
| 1094 | ;; metacharacters. The list of special chars is taken from | 1094 | ;; metacharacters. The list of special chars is taken from |
| 1095 | ;; the single-unix spec of the shell command language (under | 1095 | ;; the single-unix spec of the shell command language (under |
| 1096 | ;; `quoting') but with `$' removed. | 1096 | ;; `quoting') but with `$' removed. |
| 1097 | ("[^|&;<>()`\\\"' \t\n]\\(#+\\)" (1 "_")) | 1097 | ("[^|&;<>()`\\\"' \t\n]\\(#+\\)" (1 "_")) |
| 1098 | ;; In a '...' the backslash is not escaping. | 1098 | ;; In a '...' the backslash is not escaping. |
| 1099 | ("\\(\\\\\\)'" (1 (sh-font-lock-backslash-quote))) | 1099 | ("\\(\\\\\\)'" (1 (sh-font-lock-backslash-quote))) |
| 1100 | ;; Make sure $@ and $? are correctly recognized as sexps. | 1100 | ;; Make sure $@ and $? are correctly recognized as sexps. |
| 1101 | ("\\$\\([?@]\\)" (1 "_")) | 1101 | ("\\$\\([?@]\\)" (1 "_")) |
| 1102 | ;; Distinguish the special close-paren in `case'. | 1102 | ;; Distinguish the special close-paren in `case'. |
| 1103 | (")" (0 (sh-font-lock-paren (match-beginning 0)))) | 1103 | (")" (0 (sh-font-lock-paren (match-beginning 0)))) |
| 1104 | ;; Highlight (possibly nested) subshells inside "" quoted | 1104 | ;; Highlight (possibly nested) subshells inside "" quoted |
| 1105 | ;; regions correctly. | 1105 | ;; regions correctly. |
| 1106 | ("\"\\(?:\\(?:[^\\\"]\\|\\)*?[^\\]\\(?:\\\\\\\\\\)*\\)??\\(\\$(\\|`\\)" | 1106 | ("\"\\(?:\\(?:[^\\\"]\\|\\)*?[^\\]\\(?:\\\\\\\\\\)*\\)??\\(\\$(\\|`\\)" |
| 1107 | (1 (ignore | 1107 | (1 (ignore |
| 1108 | ;; Save excursion because we want to also apply other | 1108 | ;; Save excursion because we want to also apply other |
| 1109 | ;; syntax-propertize rules within the affected region. | 1109 | ;; syntax-propertize rules within the affected region. |
| 1110 | (if (nth 8 (syntax-ppss)) | 1110 | (if (nth 8 (syntax-ppss)) |
| 1111 | (goto-char (1+ (match-beginning 0))) | 1111 | (goto-char (1+ (match-beginning 0))) |
| 1112 | (save-excursion | 1112 | (save-excursion |
| 1113 | (sh-font-lock-quoted-subshell end))))))) | 1113 | (sh-font-lock-quoted-subshell end))))))) |
| 1114 | (point) end)) | 1114 | (point) end)) |
| 1115 | 1115 | ||
diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 450ede33a50..d1cd1c04e00 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2011-02-10 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib-utils.c, lwlib.c: | ||
| 4 | * xlwmenu.c: Standardize on <> for includes from the ../src directory. | ||
| 5 | |||
| 6 | 2011-02-09 Glenn Morris <rgm@gnu.org> | ||
| 7 | |||
| 8 | * Makefile.in (@SET_MAKE@): New, set by configure. | ||
| 9 | (globals): New variable and rule. | ||
| 10 | (lwlib-utils.o, lwlib.o, lwlib-Xlw.o, lwlib-Xaw.o, lwlib-Xm.o) | ||
| 11 | (xlwmenu.o): Add dependency on src/globals.h. | ||
| 12 | |||
| 1 | 2011-01-31 Jan Djärv <jan.h.d@swipnet.se> | 13 | 2011-01-31 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 14 | ||
| 3 | * lwlib-Xm.c (make_destroyed_instance): | 15 | * lwlib-Xm.c (make_destroyed_instance): |
diff --git a/lwlib/Makefile.in b/lwlib/Makefile.in index a89d60dc68b..68b465dff30 100644 --- a/lwlib/Makefile.in +++ b/lwlib/Makefile.in | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | 24 | ||
| 25 | srcdir=@srcdir@ | 25 | srcdir=@srcdir@ |
| 26 | VPATH=@srcdir@ | 26 | VPATH=@srcdir@ |
| 27 | @SET_MAKE@ | ||
| 27 | C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ | 28 | C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ |
| 28 | C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@ | 29 | C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@ |
| 29 | C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ | 30 | C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ |
| @@ -65,16 +66,22 @@ liblw.a: $(OBJS) | |||
| 65 | $(AR) $@ $(OBJS) | 66 | $(AR) $@ $(OBJS) |
| 66 | $(RANLIB) $@ | 67 | $(RANLIB) $@ |
| 67 | 68 | ||
| 69 | ## lisp.h includes this. | ||
| 70 | globals = ../src/globals.h | ||
| 71 | |||
| 72 | $(globals): | ||
| 73 | cd ../src; $(MAKE) $(MFLAGS) globals.h | ||
| 74 | |||
| 68 | # Depend on Makefile so that we recompile if TOOLKIT_DEFINES changes. | 75 | # Depend on Makefile so that we recompile if TOOLKIT_DEFINES changes. |
| 69 | lwlib.o: $(srcdir)/lwlib.c Makefile | 76 | lwlib.o: $(srcdir)/lwlib.c Makefile |
| 70 | $(CC) -c $(CPPFLAGS) $(TOOLKIT_DEFINES) $(ALL_CFLAGS) $(srcdir)/lwlib.c | 77 | $(CC) -c $(CPPFLAGS) $(TOOLKIT_DEFINES) $(ALL_CFLAGS) $(srcdir)/lwlib.c |
| 71 | 78 | ||
| 72 | lwlib-utils.o: lwlib-utils.c lwlib-utils.h | 79 | lwlib-utils.o: $(globals) lwlib-utils.c lwlib-utils.h |
| 73 | lwlib.o: lwlib.c lwlib.h lwlib-int.h lwlib-Xaw.h lwlib-Xlw.h | 80 | lwlib.o: $(globals) lwlib.c lwlib.h lwlib-int.h lwlib-Xaw.h lwlib-Xlw.h |
| 74 | lwlib-Xlw.o: lwlib-Xlw.c lwlib.h lwlib-int.h lwlib-Xlw.h | 81 | lwlib-Xlw.o: $(globals) lwlib-Xlw.c lwlib.h lwlib-int.h lwlib-Xlw.h |
| 75 | lwlib-Xaw.o: lwlib-Xaw.c lwlib-Xaw.h lwlib.h lwlib-int.h | 82 | lwlib-Xaw.o: $(globals) lwlib-Xaw.c lwlib-Xaw.h lwlib.h lwlib-int.h |
| 76 | lwlib-Xm.o: lwlib-Xm.c lwlib-Xm.h lwlib.h lwlib-int.h lwlib-utils.h | 83 | lwlib-Xm.o: $(globals) lwlib-Xm.c lwlib-Xm.h lwlib.h lwlib-int.h lwlib-utils.h |
| 77 | xlwmenu.o: xlwmenu.c xlwmenu.h lwlib.h xlwmenuP.h | 84 | xlwmenu.o: $(globals) xlwmenu.c xlwmenu.h lwlib.h xlwmenuP.h |
| 78 | 85 | ||
| 79 | mostlyclean: | 86 | mostlyclean: |
| 80 | $(RM) *.o core liblw.a \#* | 87 | $(RM) *.o core liblw.a \#* |
diff --git a/lwlib/lwlib-Xaw.c b/lwlib/lwlib-Xaw.c index cf98a371968..19c2440989d 100644 --- a/lwlib/lwlib-Xaw.c +++ b/lwlib/lwlib-Xaw.c | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | /* The lwlib interface to Athena widgets. | 1 | /* The lwlib interface to Athena widgets. |
| 2 | |||
| 2 | Copyright (C) 1993 Chuck Thompson <cthomp@cs.uiuc.edu> | 3 | Copyright (C) 1993 Chuck Thompson <cthomp@cs.uiuc.edu> |
| 3 | Copyright (C) 1994, 2001-2011 Free Software Foundation, Inc. | 4 | Copyright (C) 1994, 2001-2011 Free Software Foundation, Inc. |
| 4 | 5 | ||
| @@ -27,7 +28,7 @@ Boston, MA 02110-1301, USA. */ | |||
| 27 | #include <setjmp.h> | 28 | #include <setjmp.h> |
| 28 | #include <ctype.h> | 29 | #include <ctype.h> |
| 29 | 30 | ||
| 30 | #include "../src/lisp.h" | 31 | #include <lisp.h> |
| 31 | 32 | ||
| 32 | #include "lwlib-Xaw.h" | 33 | #include "lwlib-Xaw.h" |
| 33 | 34 | ||
| @@ -833,4 +834,3 @@ xaw_creation_table [] = | |||
| 833 | {"main", xaw_create_main}, | 834 | {"main", xaw_create_main}, |
| 834 | {NULL, NULL} | 835 | {NULL, NULL} |
| 835 | }; | 836 | }; |
| 836 | |||
diff --git a/lwlib/lwlib-Xlw.c b/lwlib/lwlib-Xlw.c index 537011738fd..fe33eec29bf 100644 --- a/lwlib/lwlib-Xlw.c +++ b/lwlib/lwlib-Xlw.c | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | /* The lwlib interface to "xlwmenu" menus. | 1 | /* The lwlib interface to "xlwmenu" menus. |
| 2 | Copyright (C) 1992 Lucid, Inc. | 2 | |
| 3 | Copyright (C) 1994, 2000-2011 Free Software Foundation, Inc. | 3 | Copyright (C) 1992 Lucid, Inc. |
| 4 | Copyright (C) 1994, 2000-2011 Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | This file is part of the Lucid Widget Library. | 6 | This file is part of the Lucid Widget Library. |
| 6 | 7 | ||
| @@ -24,7 +25,7 @@ Boston, MA 02110-1301, USA. */ | |||
| 24 | #endif | 25 | #endif |
| 25 | 26 | ||
| 26 | #include <setjmp.h> | 27 | #include <setjmp.h> |
| 27 | #include "lisp.h" | 28 | #include <lisp.h> |
| 28 | 29 | ||
| 29 | #include "lwlib-Xlw.h" | 30 | #include "lwlib-Xlw.h" |
| 30 | #include <X11/StringDefs.h> | 31 | #include <X11/StringDefs.h> |
| @@ -272,4 +273,3 @@ xlw_destroy_instance (widget_instance *instance) | |||
| 272 | if (instance->widget) | 273 | if (instance->widget) |
| 273 | XtDestroyWidget (instance->widget); | 274 | XtDestroyWidget (instance->widget); |
| 274 | } | 275 | } |
| 275 | |||
diff --git a/lwlib/lwlib-Xm.c b/lwlib/lwlib-Xm.c index 059cf10d2bb..55b27b9dab0 100644 --- a/lwlib/lwlib-Xm.c +++ b/lwlib/lwlib-Xm.c | |||
| @@ -34,7 +34,7 @@ Boston, MA 02110-1301, USA. */ | |||
| 34 | #include <X11/CoreP.h> | 34 | #include <X11/CoreP.h> |
| 35 | #include <X11/CompositeP.h> | 35 | #include <X11/CompositeP.h> |
| 36 | 36 | ||
| 37 | #include "../src/lisp.h" | 37 | #include <lisp.h> |
| 38 | 38 | ||
| 39 | #include "lwlib-Xm.h" | 39 | #include "lwlib-Xm.h" |
| 40 | #include "lwlib-utils.h" | 40 | #include "lwlib-utils.h" |
| @@ -1956,4 +1956,3 @@ xm_manage_resizing (Widget w, Boolean flag) | |||
| 1956 | { | 1956 | { |
| 1957 | XtVaSetValues (w, XtNallowShellResize, flag, NULL); | 1957 | XtVaSetValues (w, XtNallowShellResize, flag, NULL); |
| 1958 | } | 1958 | } |
| 1959 | |||
diff --git a/lwlib/lwlib-utils.c b/lwlib/lwlib-utils.c index 30f4f94f376..7c9a56d2aeb 100644 --- a/lwlib/lwlib-utils.c +++ b/lwlib/lwlib-utils.c | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | /* Defines some widget utility functions. | 1 | /* Defines some widget utility functions. |
| 2 | |||
| 2 | Copyright (C) 1992 Lucid, Inc. | 3 | Copyright (C) 1992 Lucid, Inc. |
| 3 | Copyright (C) 1994, 2001-2011 Free Software Foundation, Inc. | 4 | Copyright (C) 1994, 2001-2011 Free Software Foundation, Inc. |
| 4 | 5 | ||
| @@ -31,7 +32,7 @@ Boston, MA 02110-1301, USA. */ | |||
| 31 | #undef rindex | 32 | #undef rindex |
| 32 | 33 | ||
| 33 | #include <setjmp.h> | 34 | #include <setjmp.h> |
| 34 | #include "../src/lisp.h" | 35 | #include <lisp.h> |
| 35 | 36 | ||
| 36 | #include <X11/Xatom.h> | 37 | #include <X11/Xatom.h> |
| 37 | #include <X11/IntrinsicP.h> | 38 | #include <X11/IntrinsicP.h> |
| @@ -173,4 +174,3 @@ XtSafelyDestroyWidget (Widget widget) | |||
| 173 | abort (); | 174 | abort (); |
| 174 | #endif | 175 | #endif |
| 175 | } | 176 | } |
| 176 | |||
diff --git a/lwlib/lwlib.c b/lwlib/lwlib.c index e03196d7927..290ce091301 100644 --- a/lwlib/lwlib.c +++ b/lwlib/lwlib.c | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | /* A general interface to the widgets of different toolkits. | 1 | /* A general interface to the widgets of different toolkits. |
| 2 | |||
| 2 | Copyright (C) 1992, 1993 Lucid, Inc. | 3 | Copyright (C) 1992, 1993 Lucid, Inc. |
| 3 | Copyright (C) 1994-1996, 1999-2011 Free Software Foundation, Inc. | 4 | Copyright (C) 1994-1996, 1999-2011 Free Software Foundation, Inc. |
| 4 | 5 | ||
| @@ -24,7 +25,7 @@ Boston, MA 02110-1301, USA. */ | |||
| 24 | #endif | 25 | #endif |
| 25 | 26 | ||
| 26 | #include <setjmp.h> | 27 | #include <setjmp.h> |
| 27 | #include "../src/lisp.h" | 28 | #include <lisp.h> |
| 28 | 29 | ||
| 29 | #include <sys/types.h> | 30 | #include <sys/types.h> |
| 30 | #include <stdio.h> | 31 | #include <stdio.h> |
| @@ -1418,4 +1419,3 @@ lw_separator_p (const char *label, enum menu_separator *type, int motif_p) | |||
| 1418 | 1419 | ||
| 1419 | return separator_p; | 1420 | return separator_p; |
| 1420 | } | 1421 | } |
| 1421 | |||
diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c index a53275c8e87..065d81e1fde 100644 --- a/lwlib/xlwmenu.c +++ b/lwlib/xlwmenu.c | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | /* Implements a lightweight menubar widget. | 1 | /* Implements a lightweight menubar widget. |
| 2 | |||
| 2 | Copyright (C) 1992 Lucid, Inc. | 3 | Copyright (C) 1992 Lucid, Inc. |
| 3 | Copyright (C) 1994-1995, 1997, 1999-2011 Free Software Foundation, Inc. | 4 | Copyright (C) 1994-1995, 1997, 1999-2011 Free Software Foundation, Inc. |
| 4 | 5 | ||
| @@ -26,7 +27,7 @@ Boston, MA 02110-1301, USA. */ | |||
| 26 | #endif | 27 | #endif |
| 27 | 28 | ||
| 28 | #include <setjmp.h> | 29 | #include <setjmp.h> |
| 29 | #include "lisp.h" | 30 | #include <lisp.h> |
| 30 | 31 | ||
| 31 | #include <stdio.h> | 32 | #include <stdio.h> |
| 32 | #include <ctype.h> | 33 | #include <ctype.h> |
| @@ -56,7 +57,7 @@ extern int gray_bitmap_width; | |||
| 56 | extern int gray_bitmap_height; | 57 | extern int gray_bitmap_height; |
| 57 | extern char *gray_bitmap_bits; | 58 | extern char *gray_bitmap_bits; |
| 58 | 59 | ||
| 59 | #include "xterm.h" | 60 | #include <xterm.h> |
| 60 | 61 | ||
| 61 | #else /* not emacs */ | 62 | #else /* not emacs */ |
| 62 | 63 | ||
| @@ -2689,4 +2690,3 @@ pop_up_menu (XlwMenuWidget mw, XButtonPressedEvent *event) | |||
| 2689 | ((XMotionEvent*)event)->is_hint = 0; | 2690 | ((XMotionEvent*)event)->is_hint = 0; |
| 2690 | handle_motion_event (mw, (XMotionEvent*)event); | 2691 | handle_motion_event (mw, (XMotionEvent*)event); |
| 2691 | } | 2692 | } |
| 2692 | |||
diff --git a/nt/ChangeLog b/nt/ChangeLog index e7f005cce61..41273114429 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2011-02-09 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * makefile.w32-in (bootstrap-nmake, bootstrap-gmake): Make the | ||
| 4 | "make-docfile" target in lib-src, before bootstrapping the src | ||
| 5 | directory. Needed since building in src needs to run make-docfile | ||
| 6 | to produce globals.h. | ||
| 7 | |||
| 1 | 2011-02-04 Eli Zaretskii <eliz@gnu.org> | 8 | 2011-02-04 Eli Zaretskii <eliz@gnu.org> |
| 2 | 9 | ||
| 3 | * config.nt (inline) [__GNUC__]: Define (for gnulib). | 10 | * config.nt (inline) [__GNUC__]: Define (for gnulib). |
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index 28ee8b6e09c..31ca3143fb8 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in | |||
| @@ -160,7 +160,7 @@ bootstrap-nmake: addsection cmdproxy | |||
| 160 | cd ..\src | 160 | cd ..\src |
| 161 | $(MAKE) $(MFLAGS) clean | 161 | $(MAKE) $(MFLAGS) clean |
| 162 | cd ..\lib-src | 162 | cd ..\lib-src |
| 163 | $(MAKE) $(MFLAGS) clean | 163 | $(MAKE) $(MFLAGS) clean make-docfile |
| 164 | cd ..\lib | 164 | cd ..\lib |
| 165 | $(MAKE) $(MFLAGS) clean all | 165 | $(MAKE) $(MFLAGS) clean all |
| 166 | cd ..\src | 166 | cd ..\src |
| @@ -177,7 +177,7 @@ bootstrap-nmake: addsection cmdproxy | |||
| 177 | bootstrap-gmake: addsection cmdproxy | 177 | bootstrap-gmake: addsection cmdproxy |
| 178 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean | 178 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean |
| 179 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean | 179 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean |
| 180 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean | 180 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean make-docfile |
| 181 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean all | 181 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean all |
| 182 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap | 182 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap |
| 183 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean | 183 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean |
diff --git a/src/ChangeLog b/src/ChangeLog index 72d6c49592a..ccb54ffffa7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | 2011-02-08 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2011-02-10 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | Import getloadavg module from gnulib. | 3 | Import getloadavg module from gnulib. |
| 4 | * deps.mk (getloadavg.o): Remove; gnulib now does this. | 4 | * deps.mk (getloadavg.o): Remove; gnulib now does this. |
| @@ -8,6 +8,47 @@ | |||
| 8 | * src/s/netbsd.h (HAVE_GETLOADAVG): Likewise. | 8 | * src/s/netbsd.h (HAVE_GETLOADAVG): Likewise. |
| 9 | * config.in: Regenerate. | 9 | * config.in: Regenerate. |
| 10 | 10 | ||
| 11 | 2011-02-10 Glenn Morris <rgm@gnu.org> | ||
| 12 | |||
| 13 | * Makefile.in (really-lwlib): Depend on globals.h, for parallel builds. | ||
| 14 | |||
| 15 | 2011-02-09 Eli Zaretskii <eliz@gnu.org> | ||
| 16 | |||
| 17 | * makefile.w32-in (GLOBAL_SOURCES, SOME_MACHINE_OBJECTS, obj): | ||
| 18 | New macros. | ||
| 19 | (globals.h, gl-stamp): New targets. | ||
| 20 | (clean): Clean gl-stamp and globals.h. | ||
| 21 | |||
| 22 | 2011-02-09 Andreas Schwab <schwab@linux-m68k.org> | ||
| 23 | |||
| 24 | * Makefile.in (gl-stamp): Create globals.h here. | ||
| 25 | (globals.h): Don't do it here. | ||
| 26 | (mostlyclean): Clean globals.h and gl-stamp. | ||
| 27 | |||
| 28 | 2011-02-09 Paul Eggert <eggert@cs.ucla.edu> | ||
| 29 | |||
| 30 | * Makefile.in ($(otherobj)): Depend on globals.h. | ||
| 31 | Otherwise 'make -j10' failed on my host, because the build lacked | ||
| 32 | necessary dependencies, e.g., vm-limit.o depends on globals.h. | ||
| 33 | |||
| 34 | 2011-02-08 Tom Tromey <tromey@redhat.com> | ||
| 35 | |||
| 36 | * Makefile.in (NS_OBJC_OBJ): New variable. | ||
| 37 | (base_obj): Rename from 'obj'. | ||
| 38 | (obj): New variable. | ||
| 39 | (globals.h, gl-stamp, $(obj)): New targets. | ||
| 40 | (GLOBAL_SOURCES): New variable. | ||
| 41 | * globals.h: Remove. | ||
| 42 | * nsselect.m (Vselection_alist): Define. Reverts part of | ||
| 43 | 2011-01-19T22:11:33Z!jan.h.d@swipnet.se. | ||
| 44 | * buffer.c: Don't use "no_cell" for name of kill-buffer-hook's | ||
| 45 | variable. | ||
| 46 | * xselect.c (Vselection_alist): Define. Reverts part of 2011-01-19T23:32:42Z!eggert@cs.ucla.edu. | ||
| 47 | |||
| 48 | 2011-02-08 Kenichi Handa <handa@m17n.org> | ||
| 49 | |||
| 50 | * font.c (Ffont_get): Do not cache :otf value. | ||
| 51 | |||
| 11 | 2011-02-07 Paul Eggert <eggert@cs.ucla.edu> | 52 | 2011-02-07 Paul Eggert <eggert@cs.ucla.edu> |
| 12 | 53 | ||
| 13 | conform to C89 pointer rules | 54 | conform to C89 pointer rules |
diff --git a/src/Makefile.in b/src/Makefile.in index 98b4c981482..fda65be7084 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -106,7 +106,7 @@ LD_SWITCH_SYSTEM=@LD_SWITCH_SYSTEM@ | |||
| 106 | 106 | ||
| 107 | ## This holds any special options for linking temacs only (ie, not | 107 | ## This holds any special options for linking temacs only (ie, not |
| 108 | ## used by configure). Not used elsewhere because it sometimes | 108 | ## used by configure). Not used elsewhere because it sometimes |
| 109 | ## contains options that have to do with using Emacs's crt0, | 109 | ## contains options that have to do with using Emacs's crt0, |
| 110 | ## which are only good with temacs. | 110 | ## which are only good with temacs. |
| 111 | LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@ | 111 | LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@ |
| 112 | 112 | ||
| @@ -190,7 +190,7 @@ OLDXMENU=@OLDXMENU@ | |||
| 190 | ## If HAVE_X11 && !USE_GTK, $(OLDXMENU) ../src/$(OLDXMENU); else empty. | 190 | ## If HAVE_X11 && !USE_GTK, $(OLDXMENU) ../src/$(OLDXMENU); else empty. |
| 191 | ## We use stamp-xmenu with these two deps to both ensure that lwlib | 191 | ## We use stamp-xmenu with these two deps to both ensure that lwlib |
| 192 | ## gets remade based on its dependencies in its own makefile, | 192 | ## gets remade based on its dependencies in its own makefile, |
| 193 | ## and remake temacs if lwlib gets changed by this. | 193 | ## and remake temacs if lwlib gets changed by this. |
| 194 | OLDXMENU_DEPS=@OLDXMENU_DEPS@ | 194 | OLDXMENU_DEPS=@OLDXMENU_DEPS@ |
| 195 | 195 | ||
| 196 | ## If !HAVE_X11 && HAVE_X_WINDOWS, -lXMenu (this case no longer possible). | 196 | ## If !HAVE_X11 && HAVE_X_WINDOWS, -lXMenu (this case no longer possible). |
| @@ -241,12 +241,13 @@ MSDOS_SUPPORT_REAL = $(lispsource)/ls-lisp.elc $(lispsource)/disp-table.elc \ | |||
| 241 | $(lispsource)/dos-fns.elc $(lispsource)/dos-w32.elc $(lispsource)/dos-vars.elc \ | 241 | $(lispsource)/dos-fns.elc $(lispsource)/dos-w32.elc $(lispsource)/dos-vars.elc \ |
| 242 | $(lispsource)/term/internal.elc $(lispsource)/term/pc-win.elc | 242 | $(lispsource)/term/internal.elc $(lispsource)/term/pc-win.elc |
| 243 | ## $MSDOS_SUPPORT_REAL if MSDOS. | 243 | ## $MSDOS_SUPPORT_REAL if MSDOS. |
| 244 | MSDOS_SUPPORT = | 244 | MSDOS_SUPPORT = |
| 245 | 245 | ||
| 246 | ns_appdir=@ns_appdir@ | 246 | ns_appdir=@ns_appdir@ |
| 247 | ns_appbindir=@ns_appbindir@ | 247 | ns_appbindir=@ns_appbindir@ |
| 248 | ns_appsrc=@ns_appsrc@ | 248 | ns_appsrc=@ns_appsrc@ |
| 249 | NS_OBJ=@NS_OBJ@ | 249 | NS_OBJ=@NS_OBJ@ |
| 250 | NS_OBJC_OBJ=@NS_OBJC_OBJ@ | ||
| 250 | NS_SUPPORT=@NS_SUPPORT@ | 251 | NS_SUPPORT=@NS_SUPPORT@ |
| 251 | ## Only set if NS_IMPL_GNUSTEP. | 252 | ## Only set if NS_IMPL_GNUSTEP. |
| 252 | GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@ | 253 | GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@ |
| @@ -341,7 +342,7 @@ ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS) | |||
| 341 | 342 | ||
| 342 | ## lastfile must follow all files whose initialized data areas should | 343 | ## lastfile must follow all files whose initialized data areas should |
| 343 | ## be dumped as pure by dump-emacs. | 344 | ## be dumped as pure by dump-emacs. |
| 344 | obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \ | 345 | base_obj = dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \ |
| 345 | charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \ | 346 | charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \ |
| 346 | cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \ | 347 | cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \ |
| 347 | emacs.o keyboard.o macros.o keymap.o sysdep.o \ | 348 | emacs.o keyboard.o macros.o keymap.o sysdep.o \ |
| @@ -355,6 +356,7 @@ obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \ | |||
| 355 | region-cache.o sound.o atimer.o \ | 356 | region-cache.o sound.o atimer.o \ |
| 356 | doprnt.o intervals.o textprop.o composite.o md5.o xml.o \ | 357 | doprnt.o intervals.o textprop.o composite.o md5.o xml.o \ |
| 357 | $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ) | 358 | $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ) |
| 359 | obj = $(base_obj) $(NS_OBJC_OBJ) | ||
| 358 | 360 | ||
| 359 | ## Object files used on some machine or other. | 361 | ## Object files used on some machine or other. |
| 360 | ## These go in the DOC file on all machines in case they are needed. | 362 | ## These go in the DOC file on all machines in case they are needed. |
| @@ -645,6 +647,18 @@ $(libsrc)/make-docfile$(EXEEXT): | |||
| 645 | buildobj.h: Makefile | 647 | buildobj.h: Makefile |
| 646 | echo "#define BUILDOBJ \"$(obj) $(otherobj) " "\"" > buildobj.h | 648 | echo "#define BUILDOBJ \"$(obj) $(otherobj) " "\"" > buildobj.h |
| 647 | 649 | ||
| 650 | globals.h: gl-stamp; @true | ||
| 651 | |||
| 652 | GLOBAL_SOURCES = $(base_obj:.o=.c) $(NS_OBJC_OBJ:.o=.m) | ||
| 653 | |||
| 654 | gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES) | ||
| 655 | @rm -f gl-tmp | ||
| 656 | $(libsrc)/make-docfile -d $(srcdir) -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp | ||
| 657 | $(srcdir)/../move-if-change gl-tmp globals.h | ||
| 658 | echo timestamp > $@ | ||
| 659 | |||
| 660 | $(obj) $(otherobj): globals.h | ||
| 661 | |||
| 648 | $(lib)/libgnu.a: $(config_h) | 662 | $(lib)/libgnu.a: $(config_h) |
| 649 | cd $(lib) && $(MAKE) libgnu.a | 663 | cd $(lib) && $(MAKE) libgnu.a |
| 650 | 664 | ||
| @@ -655,7 +669,7 @@ temacs$(EXEEXT): $(START_FILES) stamp-oldxmenu $(obj) $(otherobj) $(lib)/libgnu. | |||
| 655 | ## The following oldxmenu-related rules are only (possibly) used if | 669 | ## The following oldxmenu-related rules are only (possibly) used if |
| 656 | ## HAVE_X11 && !USE_GTK, but there is no harm in always defining them | 670 | ## HAVE_X11 && !USE_GTK, but there is no harm in always defining them |
| 657 | ## (provided we take a little care that OLDXMENU is never empty). | 671 | ## (provided we take a little care that OLDXMENU is never empty). |
| 658 | really-lwlib: | 672 | really-lwlib: globals.h |
| 659 | cd $(lwlibdir); $(MAKE) $(MFLAGS) \ | 673 | cd $(lwlibdir); $(MAKE) $(MFLAGS) \ |
| 660 | CC='$(CC)' CFLAGS='$(CFLAGS)' MAKE='$(MAKE)' | 674 | CC='$(CC)' CFLAGS='$(CFLAGS)' MAKE='$(MAKE)' |
| 661 | @true # make -t should not create really-lwlib. | 675 | @true # make -t should not create really-lwlib. |
| @@ -699,6 +713,7 @@ mostlyclean: | |||
| 699 | rm -f ../etc/DOC | 713 | rm -f ../etc/DOC |
| 700 | rm -f bootstrap-emacs$(EXEEXT) emacs-$(version)$(EXEEXT) | 714 | rm -f bootstrap-emacs$(EXEEXT) emacs-$(version)$(EXEEXT) |
| 701 | rm -f buildobj.h | 715 | rm -f buildobj.h |
| 716 | rm -f globals.h gl-stamp | ||
| 702 | clean: mostlyclean | 717 | clean: mostlyclean |
| 703 | rm -f emacs-*.*.*$(EXEEXT) emacs$(EXEEXT) | 718 | rm -f emacs-*.*.*$(EXEEXT) emacs$(EXEEXT) |
| 704 | -rm -rf $(DEPDIR) | 719 | -rm -rf $(DEPDIR) |
diff --git a/src/buffer.c b/src/buffer.c index f8008195498..05cc12eea6f 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -1320,7 +1320,7 @@ No argument or nil as argument means do this for the current buffer. */) | |||
| 1320 | } | 1320 | } |
| 1321 | 1321 | ||
| 1322 | /* | 1322 | /* |
| 1323 | DEFVAR_LISP ("kill-buffer-hook", no_cell, "\ | 1323 | DEFVAR_LISP ("kill-buffer-hook", ..., "\ |
| 1324 | Hook to be run (by `run-hooks', which see) when a buffer is killed.\n\ | 1324 | Hook to be run (by `run-hooks', which see) when a buffer is killed.\n\ |
| 1325 | The buffer being killed will be current while the hook is running.\n\ | 1325 | The buffer being killed will be current while the hook is running.\n\ |
| 1326 | See `kill-buffer'." | 1326 | See `kill-buffer'." |
diff --git a/src/font.c b/src/font.c index 394c0055328..841125a0587 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -3982,7 +3982,6 @@ Layout tags. */) | |||
| 3982 | val = fontp->driver->otf_capability (fontp); | 3982 | val = fontp->driver->otf_capability (fontp); |
| 3983 | else | 3983 | else |
| 3984 | val = Fcons (Qnil, Qnil); | 3984 | val = Fcons (Qnil, Qnil); |
| 3985 | font_put_extra (font, QCotf, val); | ||
| 3986 | } | 3985 | } |
| 3987 | else | 3986 | else |
| 3988 | val = Fcdr (val); | 3987 | val = Fcdr (val); |
diff --git a/src/globals.h b/src/globals.h deleted file mode 100644 index 5dc2d540409..00000000000 --- a/src/globals.h +++ /dev/null | |||
| @@ -1,2900 +0,0 @@ | |||
| 1 | /* Declare all global lisp variables. | ||
| 2 | |||
| 3 | Copyright (C) 2011 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation, either version 3 of the License, or | ||
| 10 | (at your option) any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | ||
| 19 | |||
| 20 | struct emacs_globals | ||
| 21 | { | ||
| 22 | |||
| 23 | /* Count the amount of consing of various sorts of space. */ | ||
| 24 | EMACS_INT f_cons_cells_consed; | ||
| 25 | |||
| 26 | EMACS_INT f_floats_consed; | ||
| 27 | |||
| 28 | EMACS_INT f_vector_cells_consed; | ||
| 29 | |||
| 30 | EMACS_INT f_symbols_consed; | ||
| 31 | |||
| 32 | EMACS_INT f_string_chars_consed; | ||
| 33 | |||
| 34 | EMACS_INT f_misc_objects_consed; | ||
| 35 | |||
| 36 | EMACS_INT f_intervals_consed; | ||
| 37 | |||
| 38 | EMACS_INT f_strings_consed; | ||
| 39 | |||
| 40 | /* Minimum number of bytes of consing since GC before next GC. */ | ||
| 41 | EMACS_INT f_gc_cons_threshold; | ||
| 42 | |||
| 43 | Lisp_Object f_Vgc_cons_percentage; | ||
| 44 | |||
| 45 | /* Nonzero means display messages at beginning and end of GC. */ | ||
| 46 | int f_garbage_collection_messages; | ||
| 47 | |||
| 48 | /* Non-nil means defun should do purecopy on the function definition. */ | ||
| 49 | Lisp_Object f_Vpurify_flag; | ||
| 50 | |||
| 51 | /* Non-nil means we are handling a memory-full error. */ | ||
| 52 | Lisp_Object f_Vmemory_full; | ||
| 53 | |||
| 54 | /* Total number of bytes allocated in pure storage. */ | ||
| 55 | EMACS_INT f_pure_bytes_used; | ||
| 56 | |||
| 57 | /* Pre-computed signal argument for use when memory is exhausted. */ | ||
| 58 | Lisp_Object f_Vmemory_signal_data; | ||
| 59 | |||
| 60 | Lisp_Object f_Vpost_gc_hook; | ||
| 61 | |||
| 62 | Lisp_Object f_Vgc_elapsed; | ||
| 63 | |||
| 64 | EMACS_INT f_gcs_done; | ||
| 65 | |||
| 66 | /* Functions to call before and after each text change. */ | ||
| 67 | Lisp_Object f_Vbefore_change_functions; | ||
| 68 | |||
| 69 | Lisp_Object f_Vafter_change_functions; | ||
| 70 | |||
| 71 | Lisp_Object f_Vtransient_mark_mode; | ||
| 72 | |||
| 73 | /* t means ignore all read-only text properties. | ||
| 74 | A list means ignore such a property if its value is a member of the list. | ||
| 75 | Any non-nil value means ignore buffer-read-only. */ | ||
| 76 | Lisp_Object f_Vinhibit_read_only; | ||
| 77 | |||
| 78 | /* List of functions to call that can query about killing a buffer. | ||
| 79 | If any of these functions returns nil, we don't kill it. */ | ||
| 80 | Lisp_Object f_Vkill_buffer_query_functions; | ||
| 81 | |||
| 82 | Lisp_Object f_Vchange_major_mode_hook; | ||
| 83 | |||
| 84 | /* List of functions to call before changing an unmodified buffer. */ | ||
| 85 | Lisp_Object f_Vfirst_change_hook; | ||
| 86 | |||
| 87 | /* If nonzero, all modification hooks are suppressed. */ | ||
| 88 | int f_inhibit_modification_hooks; | ||
| 89 | |||
| 90 | Lisp_Object f_Vbyte_code_meter; | ||
| 91 | |||
| 92 | int f_byte_metering_on; | ||
| 93 | |||
| 94 | Lisp_Object f_Vcurrent_prefix_arg; | ||
| 95 | |||
| 96 | Lisp_Object f_Vcommand_history; | ||
| 97 | |||
| 98 | Lisp_Object f_Vcommand_debug_status; | ||
| 99 | |||
| 100 | /* Non-nil means treat the mark as active | ||
| 101 | even if mark_active is 0. */ | ||
| 102 | Lisp_Object f_Vmark_even_if_inactive; | ||
| 103 | |||
| 104 | Lisp_Object f_Vmouse_leave_buffer_hook; | ||
| 105 | |||
| 106 | Lisp_Object f_Vexec_path; | ||
| 107 | Lisp_Object f_Vexec_directory; | ||
| 108 | Lisp_Object f_Vexec_suffixes; | ||
| 109 | |||
| 110 | Lisp_Object f_Vdata_directory; | ||
| 111 | Lisp_Object f_Vdoc_directory; | ||
| 112 | |||
| 113 | Lisp_Object f_Vconfigure_info_directory; | ||
| 114 | Lisp_Object f_Vshared_game_score_directory; | ||
| 115 | |||
| 116 | Lisp_Object f_Vshell_file_name; | ||
| 117 | |||
| 118 | Lisp_Object f_Vprocess_environment; | ||
| 119 | Lisp_Object f_Vinitial_environment; | ||
| 120 | |||
| 121 | /* Variables to determine word boundary. */ | ||
| 122 | Lisp_Object f_Vword_combining_categories; | ||
| 123 | Lisp_Object f_Vword_separating_categories; | ||
| 124 | |||
| 125 | /* This contains all code conversion map available to CCL. */ | ||
| 126 | Lisp_Object f_Vcode_conversion_map_vector; | ||
| 127 | |||
| 128 | /* Alist of fontname patterns vs corresponding CCL program. */ | ||
| 129 | Lisp_Object f_Vfont_ccl_encoder_alist; | ||
| 130 | |||
| 131 | /* Vector of registered hash tables for translation. */ | ||
| 132 | Lisp_Object f_Vtranslation_hash_table_vector; | ||
| 133 | |||
| 134 | /* Vector of translation table ever defined. | ||
| 135 | ID of a translation table is used to index this vector. */ | ||
| 136 | Lisp_Object f_Vtranslation_table_vector; | ||
| 137 | |||
| 138 | /* A char-table for characters which may invoke auto-filling. */ | ||
| 139 | Lisp_Object f_Vauto_fill_chars; | ||
| 140 | |||
| 141 | /* A char-table. An element is non-nil iff the corresponding | ||
| 142 | character has a printable glyph. */ | ||
| 143 | Lisp_Object f_Vprintable_chars; | ||
| 144 | |||
| 145 | /* A char-table. An elemnent is a column-width of the corresponding | ||
| 146 | character. */ | ||
| 147 | Lisp_Object f_Vchar_width_table; | ||
| 148 | |||
| 149 | /* A char-table. An element is a symbol indicating the direction | ||
| 150 | property of corresponding character. */ | ||
| 151 | Lisp_Object f_Vchar_direction_table; | ||
| 152 | |||
| 153 | /* Char table of scripts. */ | ||
| 154 | Lisp_Object f_Vchar_script_table; | ||
| 155 | |||
| 156 | /* Alist of scripts vs representative characters. */ | ||
| 157 | Lisp_Object f_Vscript_representative_chars; | ||
| 158 | |||
| 159 | Lisp_Object f_Vunicode_category_table; | ||
| 160 | |||
| 161 | /* List of all charsets. This variable is used only from Emacs | ||
| 162 | Lisp. */ | ||
| 163 | Lisp_Object f_Vcharset_list; | ||
| 164 | |||
| 165 | Lisp_Object f_Vcharset_map_path; | ||
| 166 | |||
| 167 | /* If nonzero, don't load charset maps. */ | ||
| 168 | int f_inhibit_load_charset_map; | ||
| 169 | |||
| 170 | Lisp_Object f_Vcurrent_iso639_language; | ||
| 171 | |||
| 172 | Lisp_Object f_Vpost_self_insert_hook; | ||
| 173 | |||
| 174 | int f_coding_system_require_warning; | ||
| 175 | |||
| 176 | Lisp_Object f_Vselect_safe_coding_system_function; | ||
| 177 | |||
| 178 | /* Mnemonic string for each format of end-of-line. */ | ||
| 179 | Lisp_Object f_eol_mnemonic_unix; | ||
| 180 | Lisp_Object f_eol_mnemonic_dos; | ||
| 181 | Lisp_Object f_eol_mnemonic_mac; | ||
| 182 | |||
| 183 | /* Mnemonic string to indicate format of end-of-line is not yet | ||
| 184 | decided. */ | ||
| 185 | Lisp_Object f_eol_mnemonic_undecided; | ||
| 186 | |||
| 187 | Lisp_Object f_Vcoding_system_list; | ||
| 188 | Lisp_Object f_Vcoding_system_alist; | ||
| 189 | |||
| 190 | /* Coding-system for reading files and receiving data from process. */ | ||
| 191 | Lisp_Object f_Vcoding_system_for_read; | ||
| 192 | |||
| 193 | /* Coding-system for writing files and sending data to process. */ | ||
| 194 | Lisp_Object f_Vcoding_system_for_write; | ||
| 195 | |||
| 196 | /* Coding-system actually used in the latest I/O. */ | ||
| 197 | Lisp_Object f_Vlast_coding_system_used; | ||
| 198 | |||
| 199 | /* Set to non-nil when an error is detected while code conversion. */ | ||
| 200 | Lisp_Object f_Vlast_code_conversion_error; | ||
| 201 | |||
| 202 | /* A vector of length 256 which contains information about special | ||
| 203 | Latin codes (especially for dealing with Microsoft codes). */ | ||
| 204 | Lisp_Object f_Vlatin_extra_code_table; | ||
| 205 | |||
| 206 | /* Flag to inhibit code conversion of end-of-line format. */ | ||
| 207 | int f_inhibit_eol_conversion; | ||
| 208 | |||
| 209 | /* Flag to inhibit ISO2022 escape sequence detection. */ | ||
| 210 | int f_inhibit_iso_escape_detection; | ||
| 211 | |||
| 212 | /* Flag to inhibit detection of binary files through null bytes. */ | ||
| 213 | int f_inhibit_null_byte_detection; | ||
| 214 | |||
| 215 | /* Flag to make buffer-file-coding-system inherit from process-coding. */ | ||
| 216 | int f_inherit_process_coding_system; | ||
| 217 | |||
| 218 | Lisp_Object f_Vfile_coding_system_alist; | ||
| 219 | |||
| 220 | Lisp_Object f_Vprocess_coding_system_alist; | ||
| 221 | |||
| 222 | Lisp_Object f_Vnetwork_coding_system_alist; | ||
| 223 | |||
| 224 | Lisp_Object f_Vlocale_coding_system; | ||
| 225 | |||
| 226 | /* Flag to tell if we look up translation table on character code | ||
| 227 | conversion. */ | ||
| 228 | Lisp_Object f_Venable_character_translation; | ||
| 229 | |||
| 230 | /* Standard translation table to look up on decoding (reading). */ | ||
| 231 | Lisp_Object f_Vstandard_translation_table_for_decode; | ||
| 232 | |||
| 233 | /* Standard translation table to look up on encoding (writing). */ | ||
| 234 | Lisp_Object f_Vstandard_translation_table_for_encode; | ||
| 235 | |||
| 236 | /* Alist of charsets vs revision number. */ | ||
| 237 | Lisp_Object f_Vcharset_revision_table; | ||
| 238 | |||
| 239 | /* Default coding systems used for process I/O. */ | ||
| 240 | Lisp_Object f_Vdefault_process_coding_system; | ||
| 241 | |||
| 242 | /* Char table for translating Quail and self-inserting input. */ | ||
| 243 | Lisp_Object f_Vtranslation_table_for_input; | ||
| 244 | |||
| 245 | /* List of symbols `coding-category-xxx' ordered by priority. This | ||
| 246 | variable is exposed to Emacs Lisp. */ | ||
| 247 | Lisp_Object f_Vcoding_category_list; | ||
| 248 | |||
| 249 | /* Function to call to adjust composition. */ | ||
| 250 | Lisp_Object f_Vcompose_chars_after_function; | ||
| 251 | |||
| 252 | Lisp_Object f_Vauto_composition_mode; | ||
| 253 | |||
| 254 | Lisp_Object f_Vauto_composition_function; | ||
| 255 | |||
| 256 | Lisp_Object f_Vcomposition_function_table; | ||
| 257 | |||
| 258 | Lisp_Object f_Vmost_positive_fixnum; | ||
| 259 | Lisp_Object f_Vmost_negative_fixnum; | ||
| 260 | |||
| 261 | /* Registered buses. */ | ||
| 262 | Lisp_Object f_Vdbus_registered_buses; | ||
| 263 | |||
| 264 | /* Hash table which keeps function definitions. */ | ||
| 265 | Lisp_Object f_Vdbus_registered_objects_table; | ||
| 266 | |||
| 267 | /* Whether to debug D-Bus. */ | ||
| 268 | Lisp_Object f_Vdbus_debug; | ||
| 269 | |||
| 270 | Lisp_Object f_Vcompletion_ignored_extensions; | ||
| 271 | |||
| 272 | /* Non-zero means don't pause redisplay for pending input. (This is | ||
| 273 | for debugging and for a future implementation of EDT-like | ||
| 274 | scrolling. */ | ||
| 275 | int f_redisplay_dont_pause; | ||
| 276 | |||
| 277 | /* If a number (float), check for user input every N seconds. */ | ||
| 278 | Lisp_Object f_Vredisplay_preemption_period; | ||
| 279 | |||
| 280 | /* Lisp variable visible-bell; enables use of screen-flash instead of | ||
| 281 | audible bell. */ | ||
| 282 | int f_visible_bell; | ||
| 283 | |||
| 284 | /* Invert the color of the whole frame, at a low level. */ | ||
| 285 | int f_inverse_video; | ||
| 286 | |||
| 287 | /* Line speed of the terminal. */ | ||
| 288 | EMACS_INT f_baud_rate; | ||
| 289 | |||
| 290 | /* Either nil or a symbol naming the window system under which Emacs | ||
| 291 | creates the first frame. */ | ||
| 292 | Lisp_Object f_Vinitial_window_system; | ||
| 293 | |||
| 294 | /* Version number of X windows: 10, 11 or nil. */ | ||
| 295 | Lisp_Object f_Vwindow_system_version; | ||
| 296 | |||
| 297 | /* Vector of glyph definitions. Indexed by glyph number, the contents | ||
| 298 | are a string which is how to output the glyph. | ||
| 299 | |||
| 300 | If Vglyph_table is nil, a glyph is output by using its low 8 bits | ||
| 301 | as a character code. | ||
| 302 | |||
| 303 | This is an obsolete feature that is no longer used. The variable | ||
| 304 | is retained for compatibility. */ | ||
| 305 | Lisp_Object f_Vglyph_table; | ||
| 306 | |||
| 307 | /* Display table to use for vectors that don't specify their own. */ | ||
| 308 | Lisp_Object f_Vstandard_display_table; | ||
| 309 | |||
| 310 | /* Nonzero means reading single-character input with prompt so put | ||
| 311 | cursor on mini-buffer after the prompt. Positive means at end of | ||
| 312 | text in echo area; negative means at beginning of line. */ | ||
| 313 | int f_cursor_in_echo_area; | ||
| 314 | |||
| 315 | Lisp_Object f_Vdoc_file_name; | ||
| 316 | |||
| 317 | /* A list of files used to build this Emacs binary. */ | ||
| 318 | Lisp_Object f_Vbuild_files; | ||
| 319 | |||
| 320 | /* country info */ | ||
| 321 | EMACS_INT f_dos_country_code; | ||
| 322 | |||
| 323 | EMACS_INT f_dos_codepage; | ||
| 324 | |||
| 325 | EMACS_INT f_dos_timezone_offset; | ||
| 326 | |||
| 327 | EMACS_INT f_dos_decimal_point; | ||
| 328 | |||
| 329 | EMACS_INT f_dos_keyboard_layout; | ||
| 330 | |||
| 331 | EMACS_INT f_dos_hyper_key; | ||
| 332 | |||
| 333 | EMACS_INT f_dos_super_key; | ||
| 334 | |||
| 335 | EMACS_INT f_dos_keypad_mode; | ||
| 336 | |||
| 337 | Lisp_Object f_Vdos_version; | ||
| 338 | |||
| 339 | Lisp_Object f_Vdos_display_scancodes; | ||
| 340 | |||
| 341 | Lisp_Object f_Vdos_windows_version; | ||
| 342 | |||
| 343 | Lisp_Object f_Vbuffer_access_fontify_functions; | ||
| 344 | |||
| 345 | Lisp_Object f_Vbuffer_access_fontified_property; | ||
| 346 | |||
| 347 | /* Non-nil means don't stop at field boundary in text motion commands. */ | ||
| 348 | Lisp_Object f_Vinhibit_field_text_motion; | ||
| 349 | |||
| 350 | /* Some static data, and a function to initialize it for each run */ | ||
| 351 | Lisp_Object f_Vsystem_name; | ||
| 352 | |||
| 353 | Lisp_Object f_Vuser_real_login_name; | ||
| 354 | |||
| 355 | Lisp_Object f_Vuser_full_name; | ||
| 356 | |||
| 357 | Lisp_Object f_Vuser_login_name; | ||
| 358 | |||
| 359 | Lisp_Object f_Voperating_system_release; | ||
| 360 | |||
| 361 | /* Command line args from shell, as list of strings. */ | ||
| 362 | Lisp_Object f_Vcommand_line_args; | ||
| 363 | |||
| 364 | /* The name under which Emacs was invoked, with any leading directory | ||
| 365 | names discarded. */ | ||
| 366 | Lisp_Object f_Vinvocation_name; | ||
| 367 | |||
| 368 | /* The directory name from which Emacs was invoked. */ | ||
| 369 | Lisp_Object f_Vinvocation_directory; | ||
| 370 | |||
| 371 | /* The directory name in which to find subdirs such as lisp and etc. | ||
| 372 | nil means get them only from PATH_LOADSEARCH. */ | ||
| 373 | Lisp_Object f_Vinstallation_directory; | ||
| 374 | |||
| 375 | /* The values of `current-time' before and after Emacs initialization. */ | ||
| 376 | Lisp_Object f_Vbefore_init_time; | ||
| 377 | Lisp_Object f_Vafter_init_time; | ||
| 378 | |||
| 379 | /* Hook run by `kill-emacs' before it does really anything. */ | ||
| 380 | Lisp_Object f_Vkill_emacs_hook; | ||
| 381 | |||
| 382 | /* Search path separator. */ | ||
| 383 | Lisp_Object f_Vpath_separator; | ||
| 384 | |||
| 385 | /* Variable whose value is symbol giving operating system type. */ | ||
| 386 | Lisp_Object f_Vsystem_type; | ||
| 387 | |||
| 388 | /* Variable whose value is string giving configuration built for. */ | ||
| 389 | Lisp_Object f_Vsystem_configuration; | ||
| 390 | |||
| 391 | /* Variable whose value is string giving configuration options, | ||
| 392 | for use when reporting bugs. */ | ||
| 393 | Lisp_Object f_Vsystem_configuration_options; | ||
| 394 | |||
| 395 | /* Current and previous system locales for messages and time. */ | ||
| 396 | Lisp_Object f_Vsystem_messages_locale; | ||
| 397 | |||
| 398 | Lisp_Object f_Vprevious_system_messages_locale; | ||
| 399 | |||
| 400 | Lisp_Object f_Vsystem_time_locale; | ||
| 401 | |||
| 402 | Lisp_Object f_Vprevious_system_time_locale; | ||
| 403 | |||
| 404 | /* Copyright and version info. The version number may be updated by | ||
| 405 | Lisp code. */ | ||
| 406 | Lisp_Object f_Vemacs_copyright; | ||
| 407 | Lisp_Object f_Vemacs_version; | ||
| 408 | |||
| 409 | /* Alist of external libraries and files implementing them. */ | ||
| 410 | Lisp_Object f_Vdynamic_library_alist; | ||
| 411 | |||
| 412 | /* Value of Lisp variable `noninteractive'. | ||
| 413 | Normally same as C variable `noninteractive' | ||
| 414 | but nothing terrible happens if user sets this one. */ | ||
| 415 | int f_noninteractive1; | ||
| 416 | |||
| 417 | /* Nonzero means Emacs was run in --quick mode. */ | ||
| 418 | int f_inhibit_x_resources; | ||
| 419 | |||
| 420 | Lisp_Object f_Vinhibit_quit; | ||
| 421 | Lisp_Object f_Vquit_flag; | ||
| 422 | |||
| 423 | /* Maximum size allowed for specpdl allocation */ | ||
| 424 | EMACS_INT f_max_specpdl_size; | ||
| 425 | |||
| 426 | /* Maximum allowed depth in Lisp evaluations and function calls. */ | ||
| 427 | EMACS_INT f_max_lisp_eval_depth; | ||
| 428 | |||
| 429 | /* Nonzero means enter debugger before next function call */ | ||
| 430 | int f_debug_on_next_call; | ||
| 431 | |||
| 432 | /* Non-zero means debugger may continue. This is zero when the | ||
| 433 | debugger is called during redisplay, where it might not be safe to | ||
| 434 | continue the interrupted redisplay. */ | ||
| 435 | int f_debugger_may_continue; | ||
| 436 | |||
| 437 | /* List of conditions (non-nil atom means all) which enter the debugger | ||
| 438 | if an error is handled by the command loop's error handler. */ | ||
| 439 | Lisp_Object f_Vdebug_on_error; | ||
| 440 | |||
| 441 | /* List of conditions and regexps specifying error messages which | ||
| 442 | do not enter the debugger even if Vdebug_on_error says they should. */ | ||
| 443 | Lisp_Object f_Vdebug_ignored_errors; | ||
| 444 | |||
| 445 | /* Non-nil means call the debugger even if the error will be handled. */ | ||
| 446 | Lisp_Object f_Vdebug_on_signal; | ||
| 447 | |||
| 448 | /* Hook for edebug to use. */ | ||
| 449 | Lisp_Object f_Vsignal_hook_function; | ||
| 450 | |||
| 451 | /* Nonzero means enter debugger if a quit signal | ||
| 452 | is handled by the command loop's error handler. */ | ||
| 453 | int f_debug_on_quit; | ||
| 454 | |||
| 455 | Lisp_Object f_Vdebugger; | ||
| 456 | |||
| 457 | /* Function to process declarations in defmacro forms. */ | ||
| 458 | Lisp_Object f_Vmacro_declaration_function; | ||
| 459 | |||
| 460 | /* Coding system for file names, or nil if none. */ | ||
| 461 | Lisp_Object f_Vfile_name_coding_system; | ||
| 462 | |||
| 463 | /* Coding system for file names used only when | ||
| 464 | Vfile_name_coding_system is nil. */ | ||
| 465 | Lisp_Object f_Vdefault_file_name_coding_system; | ||
| 466 | |||
| 467 | /* Alist of elements (REGEXP . HANDLER) for file names | ||
| 468 | whose I/O is done with a special handler. */ | ||
| 469 | Lisp_Object f_Vfile_name_handler_alist; | ||
| 470 | |||
| 471 | /* Function to be called to decide a coding system of a reading file. */ | ||
| 472 | Lisp_Object f_Vset_auto_coding_function; | ||
| 473 | |||
| 474 | /* Functions to be called to process text properties in inserted file. */ | ||
| 475 | Lisp_Object f_Vafter_insert_file_functions; | ||
| 476 | |||
| 477 | /* Functions to be called to create text property annotations for file. */ | ||
| 478 | Lisp_Object f_Vwrite_region_annotate_functions; | ||
| 479 | |||
| 480 | Lisp_Object f_Vwrite_region_post_annotation_function; | ||
| 481 | |||
| 482 | /* During build_annotations, each time an annotation function is called, | ||
| 483 | this holds the annotations made by the previous functions. */ | ||
| 484 | Lisp_Object f_Vwrite_region_annotations_so_far; | ||
| 485 | |||
| 486 | /* File name in which we write a list of all our auto save files. */ | ||
| 487 | Lisp_Object f_Vauto_save_list_file_name; | ||
| 488 | |||
| 489 | /* Whether or not files are auto-saved into themselves. */ | ||
| 490 | Lisp_Object f_Vauto_save_visited_file_name; | ||
| 491 | |||
| 492 | /* Whether or not to continue auto-saving after a large deletion. */ | ||
| 493 | Lisp_Object f_Vauto_save_include_big_deletions; | ||
| 494 | |||
| 495 | /* Nonzero means skip the call to fsync in Fwrite-region. */ | ||
| 496 | int f_write_region_inhibit_fsync; | ||
| 497 | |||
| 498 | /* Non-zero means call move-file-to-trash in Fdelete_file or | ||
| 499 | Fdelete_directory_internal. */ | ||
| 500 | int f_delete_by_moving_to_trash; | ||
| 501 | |||
| 502 | /* These variables describe handlers that have "already" had a chance | ||
| 503 | to handle the current operation. | ||
| 504 | |||
| 505 | Vinhibit_file_name_handlers is a list of file name handlers. | ||
| 506 | Vinhibit_file_name_operation is the operation being handled. | ||
| 507 | If we try to handle that operation, we ignore those handlers. */ | ||
| 508 | Lisp_Object f_Vinhibit_file_name_handlers; | ||
| 509 | |||
| 510 | Lisp_Object f_Vinhibit_file_name_operation; | ||
| 511 | |||
| 512 | /* The directory for writing temporary files. */ | ||
| 513 | Lisp_Object f_Vtemporary_file_directory; | ||
| 514 | |||
| 515 | /* Nonzero enables use of dialog boxes for questions | ||
| 516 | asked by mouse commands. */ | ||
| 517 | int f_use_dialog_box; | ||
| 518 | |||
| 519 | /* Nonzero enables use of a file dialog for file name | ||
| 520 | questions asked by mouse commands. */ | ||
| 521 | int f_use_file_dialog; | ||
| 522 | |||
| 523 | Lisp_Object f_Vfeatures; | ||
| 524 | |||
| 525 | Lisp_Object f_Vfont_weight_table; | ||
| 526 | Lisp_Object f_Vfont_slant_table; | ||
| 527 | Lisp_Object f_Vfont_width_table; | ||
| 528 | |||
| 529 | Lisp_Object f_Vfont_encoding_alist; | ||
| 530 | |||
| 531 | Lisp_Object f_Vfont_log; | ||
| 532 | |||
| 533 | Lisp_Object f_Vfont_encoding_charset_alist; | ||
| 534 | |||
| 535 | Lisp_Object f_Vuse_default_ascent; | ||
| 536 | |||
| 537 | Lisp_Object f_Vignore_relative_composition; | ||
| 538 | |||
| 539 | Lisp_Object f_Valternate_fontname_alist; | ||
| 540 | |||
| 541 | Lisp_Object f_Vfontset_alias_alist; | ||
| 542 | |||
| 543 | Lisp_Object f_Vvertical_centering_font_regexp; | ||
| 544 | |||
| 545 | Lisp_Object f_Votf_script_alist; | ||
| 546 | |||
| 547 | /* If we shall make pointer invisible when typing or not. */ | ||
| 548 | Lisp_Object f_Vmake_pointer_invisible; | ||
| 549 | |||
| 550 | /* The name we're using in resource queries. Most often "emacs". */ | ||
| 551 | Lisp_Object f_Vx_resource_name; | ||
| 552 | |||
| 553 | /* The application class we're using in resource queries. | ||
| 554 | Normally "Emacs". */ | ||
| 555 | Lisp_Object f_Vx_resource_class; | ||
| 556 | |||
| 557 | /* Lower limit value of the frame opacity (alpha transparency). */ | ||
| 558 | Lisp_Object f_Vframe_alpha_lower_limit; | ||
| 559 | |||
| 560 | Lisp_Object f_Vmenu_bar_mode; | ||
| 561 | Lisp_Object f_Vtool_bar_mode; | ||
| 562 | |||
| 563 | Lisp_Object f_Vterminal_frame; | ||
| 564 | |||
| 565 | Lisp_Object f_Vdefault_frame_alist; | ||
| 566 | |||
| 567 | Lisp_Object f_Vdefault_frame_scroll_bars; | ||
| 568 | |||
| 569 | Lisp_Object f_Vmouse_position_function; | ||
| 570 | |||
| 571 | Lisp_Object f_Vmouse_highlight; | ||
| 572 | |||
| 573 | Lisp_Object f_Vdelete_frame_functions; | ||
| 574 | |||
| 575 | int f_focus_follows_mouse; | ||
| 576 | |||
| 577 | /* Non-nil means that newline may flow into the right fringe. */ | ||
| 578 | Lisp_Object f_Voverflow_newline_into_fringe; | ||
| 579 | |||
| 580 | /* List of known fringe bitmap symbols. | ||
| 581 | |||
| 582 | The fringe bitmap number is stored in the `fringe' property on | ||
| 583 | those symbols. Names for the built-in bitmaps are installed by | ||
| 584 | loading fringe.el. | ||
| 585 | */ | ||
| 586 | Lisp_Object f_Vfringe_bitmaps; | ||
| 587 | |||
| 588 | /* Search path for bitmap files. */ | ||
| 589 | Lisp_Object f_Vx_bitmap_file_path; | ||
| 590 | |||
| 591 | /* A list of symbols, one for each supported image type. */ | ||
| 592 | Lisp_Object f_Vimage_types; | ||
| 593 | |||
| 594 | /* Time in seconds after which images should be removed from the cache | ||
| 595 | if not displayed. */ | ||
| 596 | Lisp_Object f_Vimage_cache_eviction_delay; | ||
| 597 | |||
| 598 | Lisp_Object f_Vmax_image_size; | ||
| 599 | |||
| 600 | /* Non-zero means draw a cross on images having `:conversion | ||
| 601 | disabled'. */ | ||
| 602 | int f_cross_disabled_images; | ||
| 603 | |||
| 604 | Lisp_Object f_Vimagemagick_render_type; | ||
| 605 | |||
| 606 | /* Indentation can insert tabs if this is non-zero; | ||
| 607 | otherwise always uses spaces. */ | ||
| 608 | int f_indent_tabs_mode; | ||
| 609 | |||
| 610 | /* Non-nil means don't call the after-change-functions right away, | ||
| 611 | just record an element in combine_after_change_list. */ | ||
| 612 | Lisp_Object f_Vcombine_after_change_calls; | ||
| 613 | |||
| 614 | /* Check all markers in the current buffer, looking for something invalid. */ | ||
| 615 | int f_check_markers_debug_flag; | ||
| 616 | |||
| 617 | /* Non-nil if the present key sequence was obtained by shift translation. */ | ||
| 618 | Lisp_Object f_Vthis_command_keys_shift_translated; | ||
| 619 | |||
| 620 | /* If non-nil, the function that implements the display of help. | ||
| 621 | It's called with one argument, the help string to display. */ | ||
| 622 | Lisp_Object f_Vshow_help_function; | ||
| 623 | |||
| 624 | /* Nonzero means do menu prompting. */ | ||
| 625 | int f_menu_prompting; | ||
| 626 | |||
| 627 | /* Character to see next line of menu prompt. */ | ||
| 628 | Lisp_Object f_menu_prompt_more_char; | ||
| 629 | |||
| 630 | /* Nonzero means disregard local maps for the menu bar. */ | ||
| 631 | int f_inhibit_local_menu_bar_menus; | ||
| 632 | |||
| 633 | /* The user's hook function for outputting an error message. */ | ||
| 634 | Lisp_Object f_Vcommand_error_function; | ||
| 635 | |||
| 636 | /* The user's ERASE setting. */ | ||
| 637 | Lisp_Object f_Vtty_erase_char; | ||
| 638 | |||
| 639 | /* Character to recognize as the help char. */ | ||
| 640 | Lisp_Object f_Vhelp_char; | ||
| 641 | |||
| 642 | /* List of other event types to recognize as meaning "help". */ | ||
| 643 | Lisp_Object f_Vhelp_event_list; | ||
| 644 | |||
| 645 | /* Form to execute when help char is typed. */ | ||
| 646 | Lisp_Object f_Vhelp_form; | ||
| 647 | |||
| 648 | /* Command to run when the help character follows a prefix key. */ | ||
| 649 | Lisp_Object f_Vprefix_help_command; | ||
| 650 | |||
| 651 | /* List of items that should move to the end of the menu bar. */ | ||
| 652 | Lisp_Object f_Vmenu_bar_final_items; | ||
| 653 | |||
| 654 | /* Expression to evaluate for the tool bar separator image. | ||
| 655 | This is used for build_desired_tool_bar_string only. For GTK, we | ||
| 656 | use GTK tool bar seperators. */ | ||
| 657 | Lisp_Object f_Vtool_bar_separator_image_expression; | ||
| 658 | |||
| 659 | /* Non-nil means show the equivalent key-binding for | ||
| 660 | any M-x command that has one. | ||
| 661 | The value can be a length of time to show the message for. | ||
| 662 | If the value is non-nil and not a number, we wait 2 seconds. */ | ||
| 663 | Lisp_Object f_Vsuggest_key_bindings; | ||
| 664 | |||
| 665 | /* How long to display an echo-area message when the minibuffer is active. | ||
| 666 | If the value is not a number, such messages don't time out. */ | ||
| 667 | Lisp_Object f_Vminibuffer_message_timeout; | ||
| 668 | |||
| 669 | /* If non-nil, this is a map that overrides all other local maps. */ | ||
| 670 | Lisp_Object f_Voverriding_local_map; | ||
| 671 | |||
| 672 | /* If non-nil, Voverriding_local_map applies to the menu bar. */ | ||
| 673 | Lisp_Object f_Voverriding_local_map_menu_flag; | ||
| 674 | |||
| 675 | /* Keymap that defines special misc events that should | ||
| 676 | be processed immediately at a low level. */ | ||
| 677 | Lisp_Object f_Vspecial_event_map; | ||
| 678 | |||
| 679 | /* Total number of times command_loop has read a key sequence. */ | ||
| 680 | EMACS_INT f_num_input_keys; | ||
| 681 | |||
| 682 | /* Last input event read as a command. */ | ||
| 683 | Lisp_Object f_last_command_event; | ||
| 684 | |||
| 685 | /* Last input character read as a command, not counting menus | ||
| 686 | reached by the mouse. */ | ||
| 687 | Lisp_Object f_last_nonmenu_event; | ||
| 688 | |||
| 689 | /* Last input event read for any purpose. */ | ||
| 690 | Lisp_Object f_last_input_event; | ||
| 691 | |||
| 692 | /* If not Qnil, a list of objects to be read as subsequent command input. */ | ||
| 693 | Lisp_Object f_Vunread_command_events; | ||
| 694 | |||
| 695 | /* If not Qnil, a list of objects to be read as subsequent command input | ||
| 696 | including input method processing. */ | ||
| 697 | Lisp_Object f_Vunread_input_method_events; | ||
| 698 | |||
| 699 | /* If not Qnil, a list of objects to be read as subsequent command input | ||
| 700 | but NOT including input method processing. */ | ||
| 701 | Lisp_Object f_Vunread_post_input_method_events; | ||
| 702 | |||
| 703 | /* If not -1, an event to be read as subsequent command input. */ | ||
| 704 | EMACS_INT f_unread_command_char; | ||
| 705 | |||
| 706 | /* A mask of extra modifier bits to put into every keyboard char. */ | ||
| 707 | EMACS_INT f_extra_keyboard_modifiers; | ||
| 708 | |||
| 709 | /* Char to use as prefix when a meta character is typed in. | ||
| 710 | This is bound on entry to minibuffer in case ESC is changed there. */ | ||
| 711 | Lisp_Object f_meta_prefix_char; | ||
| 712 | |||
| 713 | /* Number of idle seconds before an auto-save and garbage collection. */ | ||
| 714 | Lisp_Object f_Vauto_save_timeout; | ||
| 715 | |||
| 716 | /* Total number of times read_char has returned, outside of macros. */ | ||
| 717 | EMACS_INT f_num_nonmacro_input_events; | ||
| 718 | |||
| 719 | /* Auto-save automatically when this many characters have been typed | ||
| 720 | since the last time. */ | ||
| 721 | EMACS_INT f_auto_save_interval; | ||
| 722 | |||
| 723 | /* The command being executed by the command loop. | ||
| 724 | Commands may set this, and the value set will be copied into | ||
| 725 | current_kboard->Vlast_command instead of the actual command. */ | ||
| 726 | Lisp_Object f_Vthis_command; | ||
| 727 | |||
| 728 | /* If the lookup of the command returns a binding, the original | ||
| 729 | command is stored in this-original-command. It is nil otherwise. */ | ||
| 730 | Lisp_Object f_Vthis_original_command; | ||
| 731 | |||
| 732 | /* A user-visible version of the above, intended to allow users to | ||
| 733 | figure out where the last event came from, if the event doesn't | ||
| 734 | carry that information itself (i.e. if it was a character). */ | ||
| 735 | Lisp_Object f_Vlast_event_frame; | ||
| 736 | |||
| 737 | /* If non-nil, active regions automatically become the window selection. */ | ||
| 738 | Lisp_Object f_Vselect_active_regions; | ||
| 739 | |||
| 740 | /* The text in the active region prior to modifying the buffer. | ||
| 741 | Used by the `select-active-regions' feature. */ | ||
| 742 | Lisp_Object f_Vsaved_region_selection; | ||
| 743 | |||
| 744 | /* Echo unfinished commands after this many seconds of pause. */ | ||
| 745 | Lisp_Object f_Vecho_keystrokes; | ||
| 746 | |||
| 747 | /* Form to evaluate (if non-nil) when Emacs is started. */ | ||
| 748 | Lisp_Object f_Vtop_level; | ||
| 749 | |||
| 750 | /* If non-nil, this implements the current input method. */ | ||
| 751 | Lisp_Object f_Vinput_method_function; | ||
| 752 | |||
| 753 | /* When we call Vinput_method_function, | ||
| 754 | this holds the echo area message that was just erased. */ | ||
| 755 | Lisp_Object f_Vinput_method_previous_message; | ||
| 756 | |||
| 757 | /* Non-nil means deactivate the mark at end of this command. */ | ||
| 758 | Lisp_Object f_Vdeactivate_mark; | ||
| 759 | |||
| 760 | /* Menu bar specified in Lucid Emacs fashion. */ | ||
| 761 | Lisp_Object f_Vlucid_menu_bar_dirty_flag; | ||
| 762 | |||
| 763 | Lisp_Object f_Vpre_command_hook; | ||
| 764 | |||
| 765 | Lisp_Object f_Vpost_command_hook; | ||
| 766 | |||
| 767 | Lisp_Object f_Vcommand_hook_internal; | ||
| 768 | |||
| 769 | /* Parent keymap of terminal-local function-key-map instances. */ | ||
| 770 | Lisp_Object f_Vfunction_key_map; | ||
| 771 | |||
| 772 | /* Keymap of key translations that can override keymaps. */ | ||
| 773 | Lisp_Object f_Vkey_translation_map; | ||
| 774 | |||
| 775 | /* List of deferred actions to be performed at a later time. | ||
| 776 | The precise format isn't relevant here; we just check whether it is nil. */ | ||
| 777 | Lisp_Object f_Vdeferred_action_list; | ||
| 778 | |||
| 779 | /* Function to call to handle deferred actions, when there are any. */ | ||
| 780 | Lisp_Object f_Vdeferred_action_function; | ||
| 781 | |||
| 782 | /* If this flag is non-nil, we check mouse_moved to see when the | ||
| 783 | mouse moves, and motion events will appear in the input stream. | ||
| 784 | Otherwise, mouse motion is ignored. */ | ||
| 785 | Lisp_Object f_do_mouse_tracking; | ||
| 786 | |||
| 787 | /* List of absolute timers. Appears in order of next scheduled event. */ | ||
| 788 | Lisp_Object f_Vtimer_list; | ||
| 789 | |||
| 790 | /* List of idle time timers. Appears in order of next scheduled event. */ | ||
| 791 | Lisp_Object f_Vtimer_idle_list; | ||
| 792 | |||
| 793 | /* After a command is executed, if point is moved into a region that | ||
| 794 | has specific properties (e.g. composition, display), we adjust | ||
| 795 | point to the boundary of the region. But, if a command sets this | ||
| 796 | variable to non-nil, we suppress this point adjustment. This | ||
| 797 | variable is set to nil before reading a command. */ | ||
| 798 | Lisp_Object f_Vdisable_point_adjustment; | ||
| 799 | |||
| 800 | /* If non-nil, always disable point adjustment. */ | ||
| 801 | Lisp_Object f_Vglobal_disable_point_adjustment; | ||
| 802 | |||
| 803 | /* If non-nil, events produced by disabled menu items and tool-bar | ||
| 804 | buttons are not ignored. Help functions bind this to allow help on | ||
| 805 | those items and buttons. */ | ||
| 806 | Lisp_Object f_Venable_disabled_menus_and_buttons; | ||
| 807 | |||
| 808 | /* Nonzero means don't try to suspend even if the operating system seems | ||
| 809 | to support it. */ | ||
| 810 | int f_cannot_suspend; | ||
| 811 | |||
| 812 | /* Number of seconds between polling for input. This is a Lisp | ||
| 813 | variable that can be bound. */ | ||
| 814 | EMACS_INT f_polling_period; | ||
| 815 | |||
| 816 | /* subprocesses */ | ||
| 817 | Lisp_Object f_Vthrow_on_input; | ||
| 818 | |||
| 819 | /* The maximum time between clicks to make a double-click, or Qnil to | ||
| 820 | disable double-click detection, or Qt for no time limit. */ | ||
| 821 | Lisp_Object f_Vdouble_click_time; | ||
| 822 | |||
| 823 | /* Maximum number of pixels the mouse may be moved between clicks | ||
| 824 | to make a double-click. */ | ||
| 825 | EMACS_INT f_double_click_fuzz; | ||
| 826 | |||
| 827 | /* was MinibufLocalMap */ | ||
| 828 | Lisp_Object f_Vminibuffer_local_map; | ||
| 829 | |||
| 830 | /* was MinibufLocalNSMap */ | ||
| 831 | Lisp_Object f_Vminibuffer_local_ns_map; | ||
| 832 | |||
| 833 | /* was MinibufLocalCompletionMap */ | ||
| 834 | Lisp_Object f_Vminibuffer_local_completion_map; | ||
| 835 | |||
| 836 | /* keymap used for minibuffers when doing completion in filenames */ | ||
| 837 | Lisp_Object f_Vminibuffer_local_filename_completion_map; | ||
| 838 | |||
| 839 | /* keymap used for minibuffers when doing completion in filenames | ||
| 840 | with require-match*/ | ||
| 841 | Lisp_Object f_Vminibuffer_local_filename_must_match_map; | ||
| 842 | |||
| 843 | /* was MinibufLocalMustMatchMap */ | ||
| 844 | Lisp_Object f_Vminibuffer_local_must_match_map; | ||
| 845 | |||
| 846 | /* Alist of minor mode variables and keymaps. */ | ||
| 847 | Lisp_Object f_Vminor_mode_map_alist; | ||
| 848 | |||
| 849 | /* Alist of major-mode-specific overrides for | ||
| 850 | minor mode variables and keymaps. */ | ||
| 851 | Lisp_Object f_Vminor_mode_overriding_map_alist; | ||
| 852 | |||
| 853 | /* List of emulation mode keymap alists. */ | ||
| 854 | Lisp_Object f_Vemulation_mode_map_alists; | ||
| 855 | |||
| 856 | /* A list of all commands given new bindings since a certain time | ||
| 857 | when nil was stored here. | ||
| 858 | This is used to speed up recomputation of menu key equivalents | ||
| 859 | when Emacs starts up. t means don't record anything here. */ | ||
| 860 | Lisp_Object f_Vdefine_key_rebound_commands; | ||
| 861 | |||
| 862 | Lisp_Object f_Vwhere_is_preferred_modifier; | ||
| 863 | |||
| 864 | Lisp_Object f_Vvalues; | ||
| 865 | Lisp_Object f_Vstandard_input; | ||
| 866 | Lisp_Object f_Vafter_load_alist; | ||
| 867 | |||
| 868 | Lisp_Object f_Veval_buffer_list; | ||
| 869 | |||
| 870 | /* non-zero if inside `load' */ | ||
| 871 | int f_load_in_progress; | ||
| 872 | |||
| 873 | /* Directory in which the sources were found. */ | ||
| 874 | Lisp_Object f_Vsource_directory; | ||
| 875 | |||
| 876 | /* Search path and suffixes for files to be loaded. */ | ||
| 877 | Lisp_Object f_Vload_path; | ||
| 878 | Lisp_Object f_Vload_suffixes; | ||
| 879 | Lisp_Object f_Vload_file_rep_suffixes; | ||
| 880 | |||
| 881 | /* File name of user's init file. */ | ||
| 882 | Lisp_Object f_Vuser_init_file; | ||
| 883 | |||
| 884 | /* This is the user-visible association list that maps features to | ||
| 885 | lists of defs in their load files. */ | ||
| 886 | Lisp_Object f_Vload_history; | ||
| 887 | |||
| 888 | /* This is used to build the load history. */ | ||
| 889 | Lisp_Object f_Vcurrent_load_list; | ||
| 890 | |||
| 891 | /* List of files that were preloaded. */ | ||
| 892 | Lisp_Object f_Vpreloaded_file_list; | ||
| 893 | |||
| 894 | /* Name of file actually being read by `load'. */ | ||
| 895 | Lisp_Object f_Vload_file_name; | ||
| 896 | |||
| 897 | /* Function to use for reading, in `load' and friends. */ | ||
| 898 | Lisp_Object f_Vload_read_function; | ||
| 899 | |||
| 900 | /* Non-nil means read recursive structures using #n= and #n# syntax. */ | ||
| 901 | Lisp_Object f_Vread_circle; | ||
| 902 | |||
| 903 | /* Nonzero means load should forcibly load all dynamic doc strings. */ | ||
| 904 | int f_load_force_doc_strings; | ||
| 905 | |||
| 906 | /* Nonzero means read should convert strings to unibyte. */ | ||
| 907 | int f_load_convert_to_unibyte; | ||
| 908 | |||
| 909 | /* Function to use for loading an Emacs Lisp source file (not | ||
| 910 | compiled) instead of readevalloop. */ | ||
| 911 | Lisp_Object f_Vload_source_file_function; | ||
| 912 | |||
| 913 | /* List of all DEFVAR_BOOL variables. Used by the byte optimizer. */ | ||
| 914 | Lisp_Object f_Vbyte_boolean_vars; | ||
| 915 | |||
| 916 | /* Whether or not to add a `read-positions' property to symbols | ||
| 917 | read. */ | ||
| 918 | Lisp_Object f_Vread_with_symbol_positions; | ||
| 919 | |||
| 920 | /* List of (SYMBOL . POSITION) accumulated so far. */ | ||
| 921 | Lisp_Object f_Vread_symbol_positions_list; | ||
| 922 | |||
| 923 | Lisp_Object f_Vold_style_backquotes; | ||
| 924 | |||
| 925 | /* Non-zero means load dangerous compiled Lisp files. */ | ||
| 926 | int f_load_dangerous_libraries; | ||
| 927 | |||
| 928 | /* Non-zero means force printing messages when loading Lisp files. */ | ||
| 929 | int f_force_load_messages; | ||
| 930 | |||
| 931 | /* A regular expression used to detect files compiled with Emacs. */ | ||
| 932 | Lisp_Object f_Vbytecomp_version_regexp; | ||
| 933 | |||
| 934 | Lisp_Object f_Vobarray; | ||
| 935 | |||
| 936 | /* Normal hook run whenever a keyboard macro terminates. */ | ||
| 937 | Lisp_Object f_Vkbd_macro_termination_hook; | ||
| 938 | |||
| 939 | /* Kbd macro currently being executed (a string or vector). */ | ||
| 940 | Lisp_Object f_Vexecuting_kbd_macro; | ||
| 941 | |||
| 942 | /* Index of next character to fetch from that macro. */ | ||
| 943 | EMACS_INT f_executing_kbd_macro_index; | ||
| 944 | |||
| 945 | /* Nonzero means enable debugging checks on byte/char correspondences. */ | ||
| 946 | int f_byte_debug_flag; | ||
| 947 | |||
| 948 | Lisp_Object f_Vhistory_length; | ||
| 949 | |||
| 950 | /* No duplicates in history. */ | ||
| 951 | int f_history_delete_duplicates; | ||
| 952 | |||
| 953 | /* Non-nil means add new input to history. */ | ||
| 954 | Lisp_Object f_Vhistory_add_new_input; | ||
| 955 | |||
| 956 | /* Nonzero means let functions called when within a minibuffer | ||
| 957 | invoke recursive minibuffers (to read arguments, or whatever) */ | ||
| 958 | int f_enable_recursive_minibuffers; | ||
| 959 | |||
| 960 | /* Nonzero means don't ignore text properties | ||
| 961 | in Fread_from_minibuffer. */ | ||
| 962 | int f_minibuffer_allow_text_properties; | ||
| 963 | |||
| 964 | /* help-form is bound to this while in the minibuffer. */ | ||
| 965 | Lisp_Object f_Vminibuffer_help_form; | ||
| 966 | |||
| 967 | /* Variable which is the history list to add minibuffer values to. */ | ||
| 968 | Lisp_Object f_Vminibuffer_history_variable; | ||
| 969 | |||
| 970 | /* Current position in the history list (adjusted by M-n and M-p). */ | ||
| 971 | Lisp_Object f_Vminibuffer_history_position; | ||
| 972 | |||
| 973 | /* Text properties that are added to minibuffer prompts. | ||
| 974 | These are in addition to the basic `field' property, and stickiness | ||
| 975 | properties. */ | ||
| 976 | Lisp_Object f_Vminibuffer_prompt_properties; | ||
| 977 | |||
| 978 | Lisp_Object f_Vminibuffer_setup_hook; | ||
| 979 | |||
| 980 | Lisp_Object f_Vminibuffer_exit_hook; | ||
| 981 | |||
| 982 | Lisp_Object f_Vread_expression_history; | ||
| 983 | |||
| 984 | /* Function to call to read a buffer name. */ | ||
| 985 | Lisp_Object f_Vread_buffer_function; | ||
| 986 | |||
| 987 | /* Nonzero means completion ignores case. */ | ||
| 988 | int f_completion_ignore_case; | ||
| 989 | |||
| 990 | int f_read_buffer_completion_ignore_case; | ||
| 991 | |||
| 992 | /* List of regexps that should restrict possible completions. */ | ||
| 993 | Lisp_Object f_Vcompletion_regexp_list; | ||
| 994 | |||
| 995 | /* Nonzero means raise the minibuffer frame when the minibuffer | ||
| 996 | is entered. */ | ||
| 997 | int f_minibuffer_auto_raise; | ||
| 998 | |||
| 999 | /* Keymap for reading expressions. */ | ||
| 1000 | Lisp_Object f_Vread_expression_map; | ||
| 1001 | |||
| 1002 | Lisp_Object f_Vminibuffer_completion_table; | ||
| 1003 | |||
| 1004 | Lisp_Object f_Vminibuffer_completion_predicate; | ||
| 1005 | |||
| 1006 | Lisp_Object f_Vminibuffer_completion_confirm; | ||
| 1007 | |||
| 1008 | Lisp_Object f_Vminibuffer_completing_file_name; | ||
| 1009 | |||
| 1010 | Lisp_Object f_Vdos_unsupported_char_glyph; | ||
| 1011 | |||
| 1012 | Lisp_Object f_Vstandard_output; | ||
| 1013 | |||
| 1014 | Lisp_Object f_Vfloat_output_format; | ||
| 1015 | |||
| 1016 | /* Maximum length of list to print in full; noninteger means | ||
| 1017 | effectively infinity */ | ||
| 1018 | Lisp_Object f_Vprint_length; | ||
| 1019 | |||
| 1020 | /* Maximum depth of list to print in full; noninteger means | ||
| 1021 | effectively infinity. */ | ||
| 1022 | Lisp_Object f_Vprint_level; | ||
| 1023 | |||
| 1024 | /* Nonzero means print newlines in strings as \n. */ | ||
| 1025 | int f_print_escape_newlines; | ||
| 1026 | |||
| 1027 | /* Nonzero means to print single-byte non-ascii characters in strings as | ||
| 1028 | octal escapes. */ | ||
| 1029 | int f_print_escape_nonascii; | ||
| 1030 | |||
| 1031 | /* Nonzero means to print multibyte characters in strings as hex escapes. */ | ||
| 1032 | int f_print_escape_multibyte; | ||
| 1033 | |||
| 1034 | /* Nonzero means print (quote foo) forms as 'foo, etc. */ | ||
| 1035 | int f_print_quoted; | ||
| 1036 | |||
| 1037 | /* Non-nil means print #: before uninterned symbols. */ | ||
| 1038 | Lisp_Object f_Vprint_gensym; | ||
| 1039 | |||
| 1040 | /* Non-nil means print recursive structures using #n= and #n# syntax. */ | ||
| 1041 | Lisp_Object f_Vprint_circle; | ||
| 1042 | |||
| 1043 | /* Non-nil means keep continuous number for #n= and #n# syntax | ||
| 1044 | between several print functions. */ | ||
| 1045 | Lisp_Object f_Vprint_continuous_numbering; | ||
| 1046 | |||
| 1047 | Lisp_Object f_Vprint_number_table; | ||
| 1048 | |||
| 1049 | /* A flag to control printing of `charset' text property. | ||
| 1050 | The default value is Qdefault. */ | ||
| 1051 | Lisp_Object f_Vprint_charset_text_property; | ||
| 1052 | |||
| 1053 | /* Nonzero means delete a process right away if it exits. */ | ||
| 1054 | int f_delete_exited_processes; | ||
| 1055 | |||
| 1056 | /* t means use pty, nil means use a pipe, | ||
| 1057 | maybe other values to come. */ | ||
| 1058 | Lisp_Object f_Vprocess_connection_type; | ||
| 1059 | |||
| 1060 | /* Non-nil means to delay reading process output to improve buffering. | ||
| 1061 | A value of t means that delay is reset after each send, any other | ||
| 1062 | non-nil value does not reset the delay. A value of nil disables | ||
| 1063 | adaptive read buffering completely. */ | ||
| 1064 | Lisp_Object f_Vprocess_adaptive_read_buffering; | ||
| 1065 | |||
| 1066 | Lisp_Object f_Vsearch_spaces_regexp; | ||
| 1067 | |||
| 1068 | /* If non-nil, the match data will not be changed during call to | ||
| 1069 | searching or matching functions. This variable is for internal use | ||
| 1070 | only. */ | ||
| 1071 | Lisp_Object f_Vinhibit_changing_match_data; | ||
| 1072 | |||
| 1073 | int f_words_include_escapes; | ||
| 1074 | |||
| 1075 | int f_parse_sexp_lookup_properties; | ||
| 1076 | |||
| 1077 | /* Nonzero means `scan-sexps' treat all multibyte characters as symbol. */ | ||
| 1078 | int f_multibyte_syntax_as_symbol; | ||
| 1079 | |||
| 1080 | /* Non-zero means an open parenthesis in column 0 is always considered | ||
| 1081 | to be the start of a defun. Zero means an open parenthesis in | ||
| 1082 | column 0 has no special meaning. */ | ||
| 1083 | int f_open_paren_in_column_0_is_defun_start; | ||
| 1084 | |||
| 1085 | int f_parse_sexp_ignore_comments; | ||
| 1086 | |||
| 1087 | /* Char-table of functions that find the next or previous word | ||
| 1088 | boundary. */ | ||
| 1089 | Lisp_Object f_Vfind_word_boundary_function_table; | ||
| 1090 | |||
| 1091 | /* If true, use "vs", otherwise use "ve" to make the cursor visible. */ | ||
| 1092 | int f_visible_cursor; | ||
| 1093 | |||
| 1094 | /* Functions to call after suspending a tty. */ | ||
| 1095 | Lisp_Object f_Vsuspend_tty_functions; | ||
| 1096 | |||
| 1097 | /* Functions to call after resuming a tty. */ | ||
| 1098 | Lisp_Object f_Vresume_tty_functions; | ||
| 1099 | |||
| 1100 | /* Nonzero means no need to redraw the entire frame on resuming a | ||
| 1101 | suspended Emacs. This is useful on terminals with multiple | ||
| 1102 | pages, where one page is used for Emacs and another for all | ||
| 1103 | else. */ | ||
| 1104 | int f_no_redraw_on_reenter; | ||
| 1105 | |||
| 1106 | /* Provided for lisp packages. */ | ||
| 1107 | int f_system_uses_terminfo; | ||
| 1108 | |||
| 1109 | /* Function to use to ring the bell. */ | ||
| 1110 | Lisp_Object f_Vring_bell_function; | ||
| 1111 | |||
| 1112 | Lisp_Object f_Vdelete_terminal_functions; | ||
| 1113 | |||
| 1114 | Lisp_Object f_Vinhibit_point_motion_hooks; | ||
| 1115 | |||
| 1116 | Lisp_Object f_Vdefault_text_properties; | ||
| 1117 | |||
| 1118 | Lisp_Object f_Vchar_property_alias_alist; | ||
| 1119 | |||
| 1120 | Lisp_Object f_Vtext_property_default_nonsticky; | ||
| 1121 | |||
| 1122 | /* Limits controlling how much undo information to keep. */ | ||
| 1123 | EMACS_INT f_undo_limit; | ||
| 1124 | |||
| 1125 | EMACS_INT f_undo_strong_limit; | ||
| 1126 | |||
| 1127 | Lisp_Object f_Vundo_outer_limit; | ||
| 1128 | |||
| 1129 | /* Function to call when undo_outer_limit is exceeded. */ | ||
| 1130 | Lisp_Object f_Vundo_outer_limit_function; | ||
| 1131 | |||
| 1132 | /* Nonzero means do not record point in record_point. */ | ||
| 1133 | int f_undo_inhibit_record_point; | ||
| 1134 | |||
| 1135 | /* Coding system for communicating with other Windows programs via the | ||
| 1136 | clipboard. */ | ||
| 1137 | Lisp_Object f_Vselection_coding_system; | ||
| 1138 | |||
| 1139 | /* Coding system for the next communicating with other Windows programs. */ | ||
| 1140 | Lisp_Object f_Vnext_selection_coding_system; | ||
| 1141 | |||
| 1142 | /* Determine whether to make frame dimensions match the screen buffer, | ||
| 1143 | or the current window size. The former is desirable when running | ||
| 1144 | over telnet, while the latter is more useful when working directly at | ||
| 1145 | the console with a large scroll-back buffer. */ | ||
| 1146 | int f_w32_use_full_screen_buffer; | ||
| 1147 | |||
| 1148 | /* The colormap for converting color names to RGB values */ | ||
| 1149 | Lisp_Object f_Vw32_color_map; | ||
| 1150 | |||
| 1151 | /* Non nil if alt key presses are passed on to Windows. */ | ||
| 1152 | Lisp_Object f_Vw32_pass_alt_to_system; | ||
| 1153 | |||
| 1154 | /* Non nil if alt key is translated to meta_modifier, nil if it is translated | ||
| 1155 | to alt_modifier. */ | ||
| 1156 | Lisp_Object f_Vw32_alt_is_meta; | ||
| 1157 | |||
| 1158 | /* If non-zero, the windows virtual key code for an alternative quit key. */ | ||
| 1159 | int f_w32_quit_key; | ||
| 1160 | |||
| 1161 | /* Non nil if left window key events are passed on to Windows (this only | ||
| 1162 | affects whether "tapping" the key opens the Start menu). */ | ||
| 1163 | Lisp_Object f_Vw32_pass_lwindow_to_system; | ||
| 1164 | |||
| 1165 | /* Non nil if right window key events are passed on to Windows (this | ||
| 1166 | only affects whether "tapping" the key opens the Start menu). */ | ||
| 1167 | Lisp_Object f_Vw32_pass_rwindow_to_system; | ||
| 1168 | |||
| 1169 | /* Virtual key code used to generate "phantom" key presses in order | ||
| 1170 | to stop system from acting on Windows key events. */ | ||
| 1171 | Lisp_Object f_Vw32_phantom_key_code; | ||
| 1172 | |||
| 1173 | /* Modifier associated with the left "Windows" key, or nil to act as a | ||
| 1174 | normal key. */ | ||
| 1175 | Lisp_Object f_Vw32_lwindow_modifier; | ||
| 1176 | |||
| 1177 | /* Modifier associated with the right "Windows" key, or nil to act as a | ||
| 1178 | normal key. */ | ||
| 1179 | Lisp_Object f_Vw32_rwindow_modifier; | ||
| 1180 | |||
| 1181 | /* Modifier associated with the "Apps" key, or nil to act as a normal | ||
| 1182 | key. */ | ||
| 1183 | Lisp_Object f_Vw32_apps_modifier; | ||
| 1184 | |||
| 1185 | /* Value is nil if Num Lock acts as a function key. */ | ||
| 1186 | Lisp_Object f_Vw32_enable_num_lock; | ||
| 1187 | |||
| 1188 | /* Value is nil if Caps Lock acts as a function key. */ | ||
| 1189 | Lisp_Object f_Vw32_enable_caps_lock; | ||
| 1190 | |||
| 1191 | /* Modifier associated with Scroll Lock, or nil to act as a normal key. */ | ||
| 1192 | Lisp_Object f_Vw32_scroll_lock_modifier; | ||
| 1193 | |||
| 1194 | /* Switch to control whether we inhibit requests for synthesized bold | ||
| 1195 | and italic versions of fonts. */ | ||
| 1196 | int f_w32_enable_synthesized_fonts; | ||
| 1197 | |||
| 1198 | /* Enable palette management. */ | ||
| 1199 | Lisp_Object f_Vw32_enable_palette; | ||
| 1200 | |||
| 1201 | /* Control how close left/right button down events must be to | ||
| 1202 | be converted to a middle button down event. */ | ||
| 1203 | int f_w32_mouse_button_tolerance; | ||
| 1204 | |||
| 1205 | /* Minimum interval between mouse movement (and scroll bar drag) | ||
| 1206 | events that are passed on to the event loop. */ | ||
| 1207 | int f_w32_mouse_move_interval; | ||
| 1208 | |||
| 1209 | /* Flag to indicate if XBUTTON events should be passed on to Windows. */ | ||
| 1210 | int f_w32_pass_extra_mouse_buttons_to_system; | ||
| 1211 | |||
| 1212 | /* Flag to indicate if media keys should be passed on to Windows. */ | ||
| 1213 | int f_w32_pass_multimedia_buttons_to_system; | ||
| 1214 | |||
| 1215 | /* Non nil if no window manager is in use. */ | ||
| 1216 | Lisp_Object f_Vx_no_window_manager; | ||
| 1217 | |||
| 1218 | /* The background and shape of the mouse pointer, and shape when not | ||
| 1219 | over text or in the modeline. */ | ||
| 1220 | Lisp_Object f_Vx_pointer_shape; | ||
| 1221 | Lisp_Object f_Vx_nontext_pointer_shape; | ||
| 1222 | Lisp_Object f_Vx_mode_pointer_shape; | ||
| 1223 | |||
| 1224 | /* TODO: Mouse cursor customization. */ | ||
| 1225 | Lisp_Object f_Vx_hourglass_pointer_shape; | ||
| 1226 | Lisp_Object f_Vx_window_horizontal_drag_shape; | ||
| 1227 | |||
| 1228 | /* The shape when over mouse-sensitive text. */ | ||
| 1229 | Lisp_Object f_Vx_sensitive_text_pointer_shape; | ||
| 1230 | |||
| 1231 | /* Color of chars displayed in cursor box. */ | ||
| 1232 | Lisp_Object f_Vx_cursor_fore_pixel; | ||
| 1233 | |||
| 1234 | /* Regexp matching a font name whose width is the same as `PIXEL_SIZE'. */ | ||
| 1235 | Lisp_Object f_Vx_pixel_size_width_font_regexp; | ||
| 1236 | |||
| 1237 | /* Alist of bdf fonts and the files that define them. */ | ||
| 1238 | Lisp_Object f_Vw32_bdf_filename_alist; | ||
| 1239 | |||
| 1240 | /* A flag to control whether fonts are matched strictly or not. */ | ||
| 1241 | int f_w32_strict_fontnames; | ||
| 1242 | |||
| 1243 | /* A flag to control whether we should only repaint if GetUpdateRect | ||
| 1244 | indicates there is an update region. */ | ||
| 1245 | int f_w32_strict_painting; | ||
| 1246 | |||
| 1247 | /* The ANSI codepage. */ | ||
| 1248 | int f_w32_ansi_code_page; | ||
| 1249 | |||
| 1250 | /* Maximum size for tooltips; a cons (COLUMNS . ROWS). */ | ||
| 1251 | Lisp_Object f_Vx_max_tooltip_size; | ||
| 1252 | |||
| 1253 | /* Associative list linking character set strings to Windows codepages. */ | ||
| 1254 | Lisp_Object f_Vw32_charset_info_alist; | ||
| 1255 | |||
| 1256 | /* Control whether spawnve quotes arguments as necessary to ensure | ||
| 1257 | correct parsing by child process. Because not all uses of spawnve | ||
| 1258 | are careful about constructing argv arrays, we make this behavior | ||
| 1259 | conditional (off by default). */ | ||
| 1260 | Lisp_Object f_Vw32_quote_process_args; | ||
| 1261 | |||
| 1262 | /* Control whether create_child causes the process' window to be | ||
| 1263 | hidden. The default is nil. */ | ||
| 1264 | Lisp_Object f_Vw32_start_process_show_window; | ||
| 1265 | |||
| 1266 | /* Control whether create_child causes the process to inherit Emacs' | ||
| 1267 | console window, or be given a new one of its own. The default is | ||
| 1268 | nil, to allow multiple DOS programs to run on Win95. Having separate | ||
| 1269 | consoles also allows Emacs to cleanly terminate process groups. */ | ||
| 1270 | Lisp_Object f_Vw32_start_process_share_console; | ||
| 1271 | |||
| 1272 | /* Control whether create_child cause the process to inherit Emacs' | ||
| 1273 | error mode setting. The default is t, to minimize the possibility of | ||
| 1274 | subprocesses blocking when accessing unmounted drives. */ | ||
| 1275 | Lisp_Object f_Vw32_start_process_inherit_error_mode; | ||
| 1276 | |||
| 1277 | /* Time to sleep before reading from a subprocess output pipe - this | ||
| 1278 | avoids the inefficiency of frequently reading small amounts of data. | ||
| 1279 | This is primarily necessary for handling DOS processes on Windows 95, | ||
| 1280 | but is useful for W32 processes on both Windows 95 and NT as well. */ | ||
| 1281 | int f_w32_pipe_read_delay; | ||
| 1282 | |||
| 1283 | /* Control conversion of upper case file names to lower case. | ||
| 1284 | nil means no, t means yes. */ | ||
| 1285 | Lisp_Object f_Vw32_downcase_file_names; | ||
| 1286 | |||
| 1287 | /* Control whether stat() attempts to generate fake but hopefully | ||
| 1288 | "accurate" inode values, by hashing the absolute truenames of files. | ||
| 1289 | This should detect aliasing between long and short names, but still | ||
| 1290 | allows the possibility of hash collisions. */ | ||
| 1291 | Lisp_Object f_Vw32_generate_fake_inodes; | ||
| 1292 | |||
| 1293 | /* Control whether stat() attempts to determine file type and link count | ||
| 1294 | exactly, at the expense of slower operation. Since true hard links | ||
| 1295 | are supported on NTFS volumes, this is only relevant on NT. */ | ||
| 1296 | Lisp_Object f_Vw32_get_true_file_attributes; | ||
| 1297 | |||
| 1298 | /* Coding system for communicating with other programs via the | ||
| 1299 | clipboard. */ | ||
| 1300 | |||
| 1301 | /* Coding system for the next communication with other programs. */ | ||
| 1302 | |||
| 1303 | /* Non-nil means Emacs uses toolkit scroll bars. */ | ||
| 1304 | Lisp_Object f_Vx_toolkit_scroll_bars; | ||
| 1305 | |||
| 1306 | /* Non-zero means make use of UNDERLINE_POSITION font properties. */ | ||
| 1307 | int f_x_use_underline_position_properties; | ||
| 1308 | |||
| 1309 | /* Non-zero means to draw the underline at the same place as the descent line. */ | ||
| 1310 | int f_x_underline_at_descent_line; | ||
| 1311 | |||
| 1312 | int f_w32_use_visible_system_caret; | ||
| 1313 | |||
| 1314 | int f_w32_num_mouse_buttons; | ||
| 1315 | |||
| 1316 | Lisp_Object f_Vw32_swap_mouse_buttons; | ||
| 1317 | |||
| 1318 | /* Control whether x_raise_frame also sets input focus. */ | ||
| 1319 | Lisp_Object f_Vw32_grab_focus_on_raise; | ||
| 1320 | |||
| 1321 | /* Control whether Caps Lock affects non-ascii characters. */ | ||
| 1322 | Lisp_Object f_Vw32_capslock_is_shiftlock; | ||
| 1323 | |||
| 1324 | /* Control whether right-alt and left-ctrl should be recognized as AltGr. */ | ||
| 1325 | Lisp_Object f_Vw32_recognize_altgr; | ||
| 1326 | |||
| 1327 | /* Non-nil means it is the window for C-M-v to scroll | ||
| 1328 | when the mini-buffer is selected. */ | ||
| 1329 | Lisp_Object f_Vminibuf_scroll_window; | ||
| 1330 | |||
| 1331 | /* Non-nil means this is the buffer whose window C-M-v should scroll. */ | ||
| 1332 | Lisp_Object f_Vother_window_scroll_buffer; | ||
| 1333 | |||
| 1334 | /* Non-nil means it's function to call to display temp buffers. */ | ||
| 1335 | Lisp_Object f_Vtemp_buffer_show_function; | ||
| 1336 | |||
| 1337 | /* Non-zero means line and page scrolling on tall lines (with images) | ||
| 1338 | does partial scrolling by modifying window-vscroll. */ | ||
| 1339 | int f_auto_window_vscroll_p; | ||
| 1340 | |||
| 1341 | /* Non-zero means to use mode-line-inactive face in all windows but the | ||
| 1342 | selected-window and the minibuffer-scroll-window when the | ||
| 1343 | minibuffer is active. */ | ||
| 1344 | int f_mode_line_in_non_selected_windows; | ||
| 1345 | |||
| 1346 | /* If a window gets smaller than either of these, it is removed. */ | ||
| 1347 | EMACS_INT f_window_min_height; | ||
| 1348 | |||
| 1349 | EMACS_INT f_window_min_width; | ||
| 1350 | |||
| 1351 | /* Number of lines of continuity in scrolling by screenfuls. */ | ||
| 1352 | EMACS_INT f_next_screen_context_lines; | ||
| 1353 | |||
| 1354 | Lisp_Object f_Vwindow_configuration_change_hook; | ||
| 1355 | |||
| 1356 | /* Non-nil means scroll commands try to put point | ||
| 1357 | at the same screen height as previously. */ | ||
| 1358 | Lisp_Object f_Vscroll_preserve_screen_position; | ||
| 1359 | |||
| 1360 | /* Non-nil means that text is inserted before window's markers. */ | ||
| 1361 | Lisp_Object f_Vwindow_point_insertion_type; | ||
| 1362 | |||
| 1363 | /* If non-nil, then the `recenter' command with a nil argument | ||
| 1364 | the entire frame to be redrawn; the special value `tty' causes the | ||
| 1365 | frame to be redrawn only if it is a tty frame. */ | ||
| 1366 | Lisp_Object f_Vrecenter_redisplay; | ||
| 1367 | |||
| 1368 | Lisp_Object f_Vwindow_scroll_functions; | ||
| 1369 | |||
| 1370 | Lisp_Object f_Vwindow_text_change_functions; | ||
| 1371 | |||
| 1372 | Lisp_Object f_Vredisplay_end_trigger_functions; | ||
| 1373 | |||
| 1374 | /* Functions called to fontify regions of text. */ | ||
| 1375 | Lisp_Object f_Vfontification_functions; | ||
| 1376 | |||
| 1377 | /* Non-nil means automatically select any window when the mouse | ||
| 1378 | cursor moves into it. */ | ||
| 1379 | Lisp_Object f_Vmouse_autoselect_window; | ||
| 1380 | |||
| 1381 | Lisp_Object f_Vwrap_prefix; | ||
| 1382 | |||
| 1383 | Lisp_Object f_Vline_prefix; | ||
| 1384 | |||
| 1385 | /* Non-zero means draw tool bar buttons raised when the mouse moves | ||
| 1386 | over them. */ | ||
| 1387 | int f_auto_raise_tool_bar_buttons_p; | ||
| 1388 | |||
| 1389 | /* Non-zero means to reposition window if cursor line is only partially visible. */ | ||
| 1390 | int f_make_cursor_line_fully_visible_p; | ||
| 1391 | |||
| 1392 | /* Margin below tool bar in pixels. 0 or nil means no margin. | ||
| 1393 | If value is `internal-border-width' or `border-width', | ||
| 1394 | the corresponding frame parameter is used. */ | ||
| 1395 | Lisp_Object f_Vtool_bar_border; | ||
| 1396 | |||
| 1397 | /* Margin around tool bar buttons in pixels. */ | ||
| 1398 | Lisp_Object f_Vtool_bar_button_margin; | ||
| 1399 | |||
| 1400 | /* Thickness of shadow to draw around tool bar buttons. */ | ||
| 1401 | EMACS_INT f_tool_bar_button_relief; | ||
| 1402 | |||
| 1403 | /* Non-nil means automatically resize tool-bars so that all tool-bar | ||
| 1404 | items are visible, and no blank lines remain. | ||
| 1405 | |||
| 1406 | If value is `grow-only', only make tool-bar bigger. */ | ||
| 1407 | Lisp_Object f_Vauto_resize_tool_bars; | ||
| 1408 | |||
| 1409 | /* Type of tool bar. Can be symbols image, text, both or both-hroiz. */ | ||
| 1410 | Lisp_Object f_Vtool_bar_style; | ||
| 1411 | |||
| 1412 | /* Maximum number of characters a label can have to be shown. */ | ||
| 1413 | EMACS_INT f_tool_bar_max_label_size; | ||
| 1414 | |||
| 1415 | /* Non-zero means draw block and hollow cursor as wide as the glyph | ||
| 1416 | under it. For example, if a block cursor is over a tab, it will be | ||
| 1417 | drawn as wide as that tab on the display. */ | ||
| 1418 | int f_x_stretch_cursor_p; | ||
| 1419 | |||
| 1420 | Lisp_Object f_Vinhibit_redisplay; | ||
| 1421 | |||
| 1422 | /* Non-zero means Lisp evaluation during redisplay is inhibited. */ | ||
| 1423 | int f_inhibit_eval_during_redisplay; | ||
| 1424 | |||
| 1425 | /* Symbols used in text property values. */ | ||
| 1426 | Lisp_Object f_Vdisplay_pixels_per_inch; | ||
| 1427 | |||
| 1428 | /* Non-nil means highlight trailing whitespace. */ | ||
| 1429 | Lisp_Object f_Vshow_trailing_whitespace; | ||
| 1430 | |||
| 1431 | /* Non-nil means escape non-break space and hyphens. */ | ||
| 1432 | Lisp_Object f_Vnobreak_char_display; | ||
| 1433 | |||
| 1434 | /* Non-nil means show the text cursor in void text areas | ||
| 1435 | i.e. in blank areas after eol and eob. This used to be | ||
| 1436 | the default in 21.3. */ | ||
| 1437 | Lisp_Object f_Vvoid_text_area_pointer; | ||
| 1438 | |||
| 1439 | /* Nonzero means truncate lines in all windows less wide than the | ||
| 1440 | frame. */ | ||
| 1441 | Lisp_Object f_Vtruncate_partial_width_windows; | ||
| 1442 | |||
| 1443 | /* A flag to control how to display unibyte 8-bit character. */ | ||
| 1444 | int f_unibyte_display_via_language_environment; | ||
| 1445 | |||
| 1446 | /* Nonzero means we have more than one non-mini-buffer-only frame. | ||
| 1447 | Not guaranteed to be accurate except while parsing | ||
| 1448 | frame-title-format. */ | ||
| 1449 | int f_multiple_frames; | ||
| 1450 | |||
| 1451 | Lisp_Object f_Vglobal_mode_string; | ||
| 1452 | |||
| 1453 | /* List of variables (symbols) which hold markers for overlay arrows. | ||
| 1454 | The symbols on this list are examined during redisplay to determine | ||
| 1455 | where to display overlay arrows. */ | ||
| 1456 | Lisp_Object f_Voverlay_arrow_variable_list; | ||
| 1457 | |||
| 1458 | /* Marker for where to display an arrow on top of the buffer text. */ | ||
| 1459 | Lisp_Object f_Voverlay_arrow_position; | ||
| 1460 | |||
| 1461 | /* String to display for the arrow. Only used on terminal frames. */ | ||
| 1462 | Lisp_Object f_Voverlay_arrow_string; | ||
| 1463 | |||
| 1464 | /* Like mode-line-format, but for the title bar on a visible frame. */ | ||
| 1465 | Lisp_Object f_Vframe_title_format; | ||
| 1466 | |||
| 1467 | /* Like mode-line-format, but for the title bar on an iconified frame. */ | ||
| 1468 | Lisp_Object f_Vicon_title_format; | ||
| 1469 | |||
| 1470 | /* List of functions to call when a window's size changes. These | ||
| 1471 | functions get one arg, a frame on which one or more windows' sizes | ||
| 1472 | have changed. */ | ||
| 1473 | Lisp_Object f_Vwindow_size_change_functions; | ||
| 1474 | |||
| 1475 | Lisp_Object f_Vmenu_bar_update_hook; | ||
| 1476 | |||
| 1477 | /* Nonzero means highlight the region even in nonselected windows. */ | ||
| 1478 | int f_highlight_nonselected_windows; | ||
| 1479 | |||
| 1480 | /* If cursor motion alone moves point off frame, try scrolling this | ||
| 1481 | many lines up or down if that will bring it back. */ | ||
| 1482 | EMACS_INT f_emacs_scroll_step; | ||
| 1483 | |||
| 1484 | /* Nonzero means scroll just far enough to bring point back on the | ||
| 1485 | screen, when appropriate. */ | ||
| 1486 | EMACS_INT f_scroll_conservatively; | ||
| 1487 | |||
| 1488 | /* Recenter the window whenever point gets within this many lines of | ||
| 1489 | the top or bottom of the window. This value is translated into a | ||
| 1490 | pixel value by multiplying it with FRAME_LINE_HEIGHT, which means | ||
| 1491 | that there is really a fixed pixel height scroll margin. */ | ||
| 1492 | EMACS_INT f_scroll_margin; | ||
| 1493 | |||
| 1494 | /* Zero means display the mode-line/header-line/menu-bar in the default face | ||
| 1495 | (this slightly odd definition is for compatibility with previous versions | ||
| 1496 | of emacs), non-zero means display them using their respective faces. | ||
| 1497 | |||
| 1498 | This variable is deprecated. */ | ||
| 1499 | int f_mode_line_inverse_video; | ||
| 1500 | |||
| 1501 | /* Maximum buffer size for which to display line numbers. */ | ||
| 1502 | Lisp_Object f_Vline_number_display_limit; | ||
| 1503 | |||
| 1504 | /* Line width to consider when repositioning for line number display. */ | ||
| 1505 | EMACS_INT f_line_number_display_limit_width; | ||
| 1506 | |||
| 1507 | /* Number of lines to keep in the message log buffer. t means | ||
| 1508 | infinite. nil means don't log at all. */ | ||
| 1509 | Lisp_Object f_Vmessage_log_max; | ||
| 1510 | |||
| 1511 | int f_inhibit_menubar_update; | ||
| 1512 | |||
| 1513 | /* When evaluating expressions from menu bar items (enable conditions, | ||
| 1514 | for instance), this is the frame they are being processed for. */ | ||
| 1515 | Lisp_Object f_Vmenu_updating_frame; | ||
| 1516 | |||
| 1517 | /* Maximum height for resizing mini-windows. Either a float | ||
| 1518 | specifying a fraction of the available height, or an integer | ||
| 1519 | specifying a number of lines. */ | ||
| 1520 | Lisp_Object f_Vmax_mini_window_height; | ||
| 1521 | |||
| 1522 | /* Non-zero means messages should be displayed with truncated | ||
| 1523 | lines instead of being continued. */ | ||
| 1524 | int f_message_truncate_lines; | ||
| 1525 | |||
| 1526 | /* How to blink the default frame cursor off. */ | ||
| 1527 | Lisp_Object f_Vblink_cursor_alist; | ||
| 1528 | |||
| 1529 | /* Variables to turn off display optimizations from Lisp. */ | ||
| 1530 | int f_inhibit_try_window_id; | ||
| 1531 | int f_inhibit_try_window_reusing; | ||
| 1532 | |||
| 1533 | int f_inhibit_try_cursor_movement; | ||
| 1534 | |||
| 1535 | /* Non-zero means automatically scroll windows horizontally to make | ||
| 1536 | point visible. */ | ||
| 1537 | int f_automatic_hscrolling_p; | ||
| 1538 | |||
| 1539 | /* How close to the margin can point get before the window is scrolled | ||
| 1540 | horizontally. */ | ||
| 1541 | EMACS_INT f_hscroll_margin; | ||
| 1542 | |||
| 1543 | /* How much to scroll horizontally when point is inside the above margin. */ | ||
| 1544 | Lisp_Object f_Vhscroll_step; | ||
| 1545 | |||
| 1546 | /* The variable `resize-mini-windows'. If nil, don't resize | ||
| 1547 | mini-windows. If t, always resize them to fit the text they | ||
| 1548 | display. If `grow-only', let mini-windows grow only until they | ||
| 1549 | become empty. */ | ||
| 1550 | Lisp_Object f_Vresize_mini_windows; | ||
| 1551 | |||
| 1552 | /* Space between overline and text. */ | ||
| 1553 | EMACS_INT f_overline_margin; | ||
| 1554 | |||
| 1555 | /* Require underline to be at least this many screen pixels below baseline | ||
| 1556 | This to avoid underline "merging" with the base of letters at small | ||
| 1557 | font sizes, particularly when x_use_underline_position_properties is on. */ | ||
| 1558 | EMACS_INT f_underline_minimum_offset; | ||
| 1559 | |||
| 1560 | /* Non-zero means don't free realized faces. Bound while freeing | ||
| 1561 | realized faces is dangerous because glyph matrices might still | ||
| 1562 | reference them. */ | ||
| 1563 | int f_inhibit_free_realized_faces; | ||
| 1564 | |||
| 1565 | /* Non-zero means we're allowed to display a hourglass pointer. */ | ||
| 1566 | int f_display_hourglass_p; | ||
| 1567 | |||
| 1568 | /* Number of seconds to wait before displaying an hourglass cursor. */ | ||
| 1569 | Lisp_Object f_Vhourglass_delay; | ||
| 1570 | |||
| 1571 | /* Char-table to control the display of glyphless characters. */ | ||
| 1572 | Lisp_Object f_Vglyphless_char_display; | ||
| 1573 | |||
| 1574 | EMACS_INT f_debug_end_pos; | ||
| 1575 | |||
| 1576 | /* Default stipple pattern used on monochrome displays. This stipple | ||
| 1577 | pattern is used on monochrome displays instead of shades of gray | ||
| 1578 | for a face background color. See `set-face-stipple' for possible | ||
| 1579 | values for this variable. */ | ||
| 1580 | Lisp_Object f_Vface_default_stipple; | ||
| 1581 | |||
| 1582 | Lisp_Object f_Vscalable_fonts_allowed; | ||
| 1583 | |||
| 1584 | /* List of regular expressions that matches names of fonts to ignore. */ | ||
| 1585 | Lisp_Object f_Vface_ignored_fonts; | ||
| 1586 | |||
| 1587 | /* Alist of font name patterns vs the rescaling factor. */ | ||
| 1588 | Lisp_Object f_Vface_font_rescale_alist; | ||
| 1589 | |||
| 1590 | /* Maximum number of fonts to consider in font_list. If not an | ||
| 1591 | integer > 0, DEFAULT_FONT_LIST_LIMIT is used instead. */ | ||
| 1592 | Lisp_Object f_Vfont_list_limit; | ||
| 1593 | |||
| 1594 | /* Alist of global face definitions. Each element is of the form | ||
| 1595 | (FACE . LFACE) where FACE is a symbol naming a face and LFACE | ||
| 1596 | is a Lisp vector of face attributes. These faces are used | ||
| 1597 | to initialize faces for new frames. */ | ||
| 1598 | Lisp_Object f_Vface_new_frame_defaults; | ||
| 1599 | |||
| 1600 | /* Alist of face remappings. Each element is of the form: | ||
| 1601 | (FACE REPLACEMENT...) which causes display of the face FACE to use | ||
| 1602 | REPLACEMENT... instead. REPLACEMENT... is interpreted the same way | ||
| 1603 | the value of a `face' text property is: it may be (1) A face name, | ||
| 1604 | (2) A list of face names, (3) A property-list of face attribute/value | ||
| 1605 | pairs, or (4) A list of face names intermixed with lists containing | ||
| 1606 | face attribute/value pairs. | ||
| 1607 | |||
| 1608 | Multiple entries in REPLACEMENT... are merged together to form the final | ||
| 1609 | result, with faces or attributes earlier in the list taking precedence | ||
| 1610 | over those that are later. | ||
| 1611 | |||
| 1612 | Face-name remapping cycles are suppressed; recursive references use | ||
| 1613 | the underlying face instead of the remapped face. */ | ||
| 1614 | Lisp_Object f_Vface_remapping_alist; | ||
| 1615 | |||
| 1616 | /* An alist of defined terminal colors and their RGB values. */ | ||
| 1617 | Lisp_Object f_Vtty_defined_color_alist; | ||
| 1618 | |||
| 1619 | /* LessTif/Motif version info. */ | ||
| 1620 | Lisp_Object f_Vmotif_version_string; | ||
| 1621 | |||
| 1622 | /* GTK+ version info */ | ||
| 1623 | Lisp_Object f_Vgtk_version_string; | ||
| 1624 | |||
| 1625 | /* Non-zero means prompt with the old GTK file selection dialog. */ | ||
| 1626 | int f_x_gtk_use_old_file_dialog; | ||
| 1627 | |||
| 1628 | /* If non-zero, by default show hidden files in the GTK file chooser. */ | ||
| 1629 | int f_x_gtk_show_hidden_files; | ||
| 1630 | |||
| 1631 | /* If non-zero, don't show additional help text in the GTK file chooser. */ | ||
| 1632 | int f_x_gtk_file_dialog_help_text; | ||
| 1633 | |||
| 1634 | /* If non-zero, don't collapse to tool bar when it is detached. */ | ||
| 1635 | int f_x_gtk_whole_detached_tool_bar; | ||
| 1636 | |||
| 1637 | /* If non-zero, use Gtk+ tooltips. */ | ||
| 1638 | int f_x_gtk_use_system_tooltips; | ||
| 1639 | |||
| 1640 | /* The background and shape of the mouse pointer, and shape when not | ||
| 1641 | over text or in the modeline. */ | ||
| 1642 | |||
| 1643 | /* The shape when over mouse-sensitive text. */ | ||
| 1644 | |||
| 1645 | /* If non-nil, the pointer shape to indicate that windows can be | ||
| 1646 | dragged horizontally. */ | ||
| 1647 | |||
| 1648 | /* Color of chars displayed in cursor box. */ | ||
| 1649 | |||
| 1650 | /* Non nil if no window manager is in use. */ | ||
| 1651 | |||
| 1652 | /* Regexp matching a font name whose width is the same as `PIXEL_SIZE'. */ | ||
| 1653 | |||
| 1654 | /* Maximum size for tooltips; a cons (COLUMNS . ROWS). */ | ||
| 1655 | |||
| 1656 | Lisp_Object f_Vx_lost_selection_functions; | ||
| 1657 | |||
| 1658 | Lisp_Object f_Vx_sent_selection_functions; | ||
| 1659 | |||
| 1660 | /* This is an alist whose CARs are selection-types (whose names are the same | ||
| 1661 | as the names of X Atoms) and whose CDRs are the names of Lisp functions to | ||
| 1662 | call to convert the given Emacs selection value to a string representing | ||
| 1663 | the given selection type. This is for Lisp-level extension of the emacs | ||
| 1664 | selection handling. */ | ||
| 1665 | Lisp_Object f_Vselection_converter_alist; | ||
| 1666 | |||
| 1667 | /* If the selection owner takes too long to reply to a selection request, | ||
| 1668 | we give up on it. This is in milliseconds (0 = no timeout.) */ | ||
| 1669 | EMACS_INT f_x_selection_timeout; | ||
| 1670 | |||
| 1671 | int f_use_system_font; | ||
| 1672 | |||
| 1673 | Lisp_Object f_Vxft_settings; | ||
| 1674 | |||
| 1675 | /* The client session id for this session as a lisp object. */ | ||
| 1676 | Lisp_Object f_Vx_session_id; | ||
| 1677 | |||
| 1678 | /* The id we had the previous session. This is only available if we | ||
| 1679 | have been started by the session manager with SMID_OPT. */ | ||
| 1680 | Lisp_Object f_Vx_session_previous_id; | ||
| 1681 | |||
| 1682 | /* Non-nil means Emacs uses toolkit scroll bars. */ | ||
| 1683 | |||
| 1684 | /* Non-zero means make use of UNDERLINE_POSITION font properties. */ | ||
| 1685 | |||
| 1686 | /* Non-zero means to draw the underline at the same place as the descent line. */ | ||
| 1687 | |||
| 1688 | /* Non-zero means to not move point as a result of clicking on a | ||
| 1689 | frame to focus it (when focus-follows-mouse is nil). */ | ||
| 1690 | int f_x_mouse_click_focus_ignore_position; | ||
| 1691 | |||
| 1692 | /* The keysyms to use for the various modifiers. */ | ||
| 1693 | Lisp_Object f_Vx_alt_keysym; | ||
| 1694 | Lisp_Object f_Vx_hyper_keysym; | ||
| 1695 | Lisp_Object f_Vx_meta_keysym; | ||
| 1696 | Lisp_Object f_Vx_super_keysym; | ||
| 1697 | |||
| 1698 | Lisp_Object f_Vx_keysym_table; | ||
| 1699 | |||
| 1700 | /* Lisp communications */ | ||
| 1701 | Lisp_Object f_ns_input_file, f_ns_input_font, f_ns_input_fontsize, | ||
| 1702 | f_ns_input_line; | ||
| 1703 | Lisp_Object f_ns_input_color, f_ns_input_text, f_ns_working_text; | ||
| 1704 | Lisp_Object f_ns_input_spi_name, f_ns_input_spi_arg; | ||
| 1705 | |||
| 1706 | /* Specifies which emacs modifier should be generated when NS receives | ||
| 1707 | the Alternate modifier. May be Qnone or any of the modifier lisp symbols. | ||
| 1708 | */ | ||
| 1709 | Lisp_Object f_ns_alternate_modifier; | ||
| 1710 | |||
| 1711 | /* Specifies which emacs modifier should be generated when NS receives | ||
| 1712 | the right Alternate modifier. Has same values as ns_alternate_modifier | ||
| 1713 | plus the value Qleft which means whatever value ns_alternate_modifier has. | ||
| 1714 | */ | ||
| 1715 | Lisp_Object f_ns_right_alternate_modifier; | ||
| 1716 | |||
| 1717 | /* Specifies which emacs modifier should be generated when NS receives | ||
| 1718 | the Command modifier. May be any of the modifier lisp symbols. */ | ||
| 1719 | Lisp_Object f_ns_command_modifier; | ||
| 1720 | |||
| 1721 | /* Specifies which emacs modifier should be generated when NS receives | ||
| 1722 | the right Command modifier. Has same values as ns_command_modifier plus | ||
| 1723 | the value Qleft which means whatever value ns_command_modifier has. */ | ||
| 1724 | Lisp_Object f_ns_right_command_modifier; | ||
| 1725 | |||
| 1726 | /* Specifies which emacs modifier should be generated when NS receives | ||
| 1727 | the Control modifier. May be any of the modifier lisp symbols. */ | ||
| 1728 | Lisp_Object f_ns_control_modifier; | ||
| 1729 | |||
| 1730 | /* Specifies which emacs modifier should be generated when NS receives | ||
| 1731 | the right Control modifier. Has same values as ns_control_modifier plus | ||
| 1732 | the value Qleft which means whatever value ns_control_modifier has. */ | ||
| 1733 | Lisp_Object f_ns_right_control_modifier; | ||
| 1734 | |||
| 1735 | /* Specifies which emacs modifier should be generated when NS receives | ||
| 1736 | the Function modifier (laptops). May be any of the modifier lisp symbols. | ||
| 1737 | */ | ||
| 1738 | Lisp_Object f_ns_function_modifier; | ||
| 1739 | |||
| 1740 | /* Control via default 'GSFontAntiAlias' on OS X and GNUstep. */ | ||
| 1741 | Lisp_Object f_ns_antialias_text; | ||
| 1742 | |||
| 1743 | /* Confirm on exit. */ | ||
| 1744 | Lisp_Object f_ns_confirm_quit; | ||
| 1745 | |||
| 1746 | /* Alist of elements (REGEXP . IMAGE) for images of icons associated | ||
| 1747 | to frames.*/ | ||
| 1748 | Lisp_Object f_Vns_icon_type_alist; | ||
| 1749 | |||
| 1750 | /* Toolkit version support. */ | ||
| 1751 | Lisp_Object f_Vns_version_string; | ||
| 1752 | |||
| 1753 | Lisp_Object f_Vns_sent_selection_hooks; | ||
| 1754 | Lisp_Object f_Vns_lost_selection_hooks; | ||
| 1755 | |||
| 1756 | /* This is an association list whose elements are of the form | ||
| 1757 | ( SELECTION-NAME SELECTION-VALUE SELECTION-TIMESTAMP FRAME) | ||
| 1758 | SELECTION-NAME is a lisp symbol, whose name is the name of an X Atom. | ||
| 1759 | SELECTION-VALUE is the value that emacs owns for that selection. | ||
| 1760 | It may be any kind of Lisp object. | ||
| 1761 | SELECTION-TIMESTAMP is the time at which emacs began owning this | ||
| 1762 | selection, as a cons of two 16-bit numbers (making a 32 bit time.) | ||
| 1763 | FRAME is the frame for which we made the selection. | ||
| 1764 | If there is an entry in this alist, then it can be assumed that Emacs owns | ||
| 1765 | that selection. | ||
| 1766 | The only (eq) parts of this list that are visible from Lisp are the | ||
| 1767 | selection-values. */ | ||
| 1768 | Lisp_Object f_Vselection_alist; | ||
| 1769 | |||
| 1770 | Lisp_Object f_Vns_reg_to_script; | ||
| 1771 | |||
| 1772 | |||
| 1773 | }; | ||
| 1774 | |||
| 1775 | extern struct emacs_globals globals; | ||
| 1776 | |||
| 1777 | #define Vafter_change_functions \ | ||
| 1778 | globals.f_Vafter_change_functions | ||
| 1779 | #define Vafter_init_time \ | ||
| 1780 | globals.f_Vafter_init_time | ||
| 1781 | #define Vafter_insert_file_functions \ | ||
| 1782 | globals.f_Vafter_insert_file_functions | ||
| 1783 | #define Vafter_load_alist \ | ||
| 1784 | globals.f_Vafter_load_alist | ||
| 1785 | #define Valternate_fontname_alist \ | ||
| 1786 | globals.f_Valternate_fontname_alist | ||
| 1787 | #define Vauto_composition_function \ | ||
| 1788 | globals.f_Vauto_composition_function | ||
| 1789 | #define Vauto_composition_mode \ | ||
| 1790 | globals.f_Vauto_composition_mode | ||
| 1791 | #define Vauto_fill_chars \ | ||
| 1792 | globals.f_Vauto_fill_chars | ||
| 1793 | #define Vauto_resize_tool_bars \ | ||
| 1794 | globals.f_Vauto_resize_tool_bars | ||
| 1795 | #define Vauto_save_include_big_deletions \ | ||
| 1796 | globals.f_Vauto_save_include_big_deletions | ||
| 1797 | #define Vauto_save_list_file_name \ | ||
| 1798 | globals.f_Vauto_save_list_file_name | ||
| 1799 | #define Vauto_save_timeout \ | ||
| 1800 | globals.f_Vauto_save_timeout | ||
| 1801 | #define Vauto_save_visited_file_name \ | ||
| 1802 | globals.f_Vauto_save_visited_file_name | ||
| 1803 | #define Vbefore_change_functions \ | ||
| 1804 | globals.f_Vbefore_change_functions | ||
| 1805 | #define Vbefore_init_time \ | ||
| 1806 | globals.f_Vbefore_init_time | ||
| 1807 | #define Vblink_cursor_alist \ | ||
| 1808 | globals.f_Vblink_cursor_alist | ||
| 1809 | #define Vbuffer_access_fontified_property \ | ||
| 1810 | globals.f_Vbuffer_access_fontified_property | ||
| 1811 | #define Vbuffer_access_fontify_functions \ | ||
| 1812 | globals.f_Vbuffer_access_fontify_functions | ||
| 1813 | #define Vbuild_files \ | ||
| 1814 | globals.f_Vbuild_files | ||
| 1815 | #define Vbyte_boolean_vars \ | ||
| 1816 | globals.f_Vbyte_boolean_vars | ||
| 1817 | #define Vbyte_code_meter \ | ||
| 1818 | globals.f_Vbyte_code_meter | ||
| 1819 | #define Vbytecomp_version_regexp \ | ||
| 1820 | globals.f_Vbytecomp_version_regexp | ||
| 1821 | #define Vchange_major_mode_hook \ | ||
| 1822 | globals.f_Vchange_major_mode_hook | ||
| 1823 | #define Vchar_direction_table \ | ||
| 1824 | globals.f_Vchar_direction_table | ||
| 1825 | #define Vchar_property_alias_alist \ | ||
| 1826 | globals.f_Vchar_property_alias_alist | ||
| 1827 | #define Vchar_script_table \ | ||
| 1828 | globals.f_Vchar_script_table | ||
| 1829 | #define Vchar_width_table \ | ||
| 1830 | globals.f_Vchar_width_table | ||
| 1831 | #define Vcharset_list \ | ||
| 1832 | globals.f_Vcharset_list | ||
| 1833 | #define Vcharset_map_path \ | ||
| 1834 | globals.f_Vcharset_map_path | ||
| 1835 | #define Vcharset_revision_table \ | ||
| 1836 | globals.f_Vcharset_revision_table | ||
| 1837 | #define Vcode_conversion_map_vector \ | ||
| 1838 | globals.f_Vcode_conversion_map_vector | ||
| 1839 | #define Vcoding_category_list \ | ||
| 1840 | globals.f_Vcoding_category_list | ||
| 1841 | #define Vcoding_system_alist \ | ||
| 1842 | globals.f_Vcoding_system_alist | ||
| 1843 | #define Vcoding_system_for_read \ | ||
| 1844 | globals.f_Vcoding_system_for_read | ||
| 1845 | #define Vcoding_system_for_write \ | ||
| 1846 | globals.f_Vcoding_system_for_write | ||
| 1847 | #define Vcoding_system_list \ | ||
| 1848 | globals.f_Vcoding_system_list | ||
| 1849 | #define Vcombine_after_change_calls \ | ||
| 1850 | globals.f_Vcombine_after_change_calls | ||
| 1851 | #define Vcommand_debug_status \ | ||
| 1852 | globals.f_Vcommand_debug_status | ||
| 1853 | #define Vcommand_error_function \ | ||
| 1854 | globals.f_Vcommand_error_function | ||
| 1855 | #define Vcommand_history \ | ||
| 1856 | globals.f_Vcommand_history | ||
| 1857 | #define Vcommand_hook_internal \ | ||
| 1858 | globals.f_Vcommand_hook_internal | ||
| 1859 | #define Vcommand_line_args \ | ||
| 1860 | globals.f_Vcommand_line_args | ||
| 1861 | #define Vcompletion_ignored_extensions \ | ||
| 1862 | globals.f_Vcompletion_ignored_extensions | ||
| 1863 | #define Vcompletion_regexp_list \ | ||
| 1864 | globals.f_Vcompletion_regexp_list | ||
| 1865 | #define Vcompose_chars_after_function \ | ||
| 1866 | globals.f_Vcompose_chars_after_function | ||
| 1867 | #define Vcomposition_function_table \ | ||
| 1868 | globals.f_Vcomposition_function_table | ||
| 1869 | #define Vconfigure_info_directory \ | ||
| 1870 | globals.f_Vconfigure_info_directory | ||
| 1871 | #define Vcurrent_iso639_language \ | ||
| 1872 | globals.f_Vcurrent_iso639_language | ||
| 1873 | #define Vcurrent_load_list \ | ||
| 1874 | globals.f_Vcurrent_load_list | ||
| 1875 | #define Vcurrent_prefix_arg \ | ||
| 1876 | globals.f_Vcurrent_prefix_arg | ||
| 1877 | #define Vdata_directory \ | ||
| 1878 | globals.f_Vdata_directory | ||
| 1879 | #define Vdbus_debug \ | ||
| 1880 | globals.f_Vdbus_debug | ||
| 1881 | #define Vdbus_registered_buses \ | ||
| 1882 | globals.f_Vdbus_registered_buses | ||
| 1883 | #define Vdbus_registered_objects_table \ | ||
| 1884 | globals.f_Vdbus_registered_objects_table | ||
| 1885 | #define Vdeactivate_mark \ | ||
| 1886 | globals.f_Vdeactivate_mark | ||
| 1887 | #define Vdebug_ignored_errors \ | ||
| 1888 | globals.f_Vdebug_ignored_errors | ||
| 1889 | #define Vdebug_on_error \ | ||
| 1890 | globals.f_Vdebug_on_error | ||
| 1891 | #define Vdebug_on_signal \ | ||
| 1892 | globals.f_Vdebug_on_signal | ||
| 1893 | #define Vdebugger \ | ||
| 1894 | globals.f_Vdebugger | ||
| 1895 | #define Vdefault_file_name_coding_system \ | ||
| 1896 | globals.f_Vdefault_file_name_coding_system | ||
| 1897 | #define Vdefault_frame_alist \ | ||
| 1898 | globals.f_Vdefault_frame_alist | ||
| 1899 | #define Vdefault_frame_scroll_bars \ | ||
| 1900 | globals.f_Vdefault_frame_scroll_bars | ||
| 1901 | #define Vdefault_process_coding_system \ | ||
| 1902 | globals.f_Vdefault_process_coding_system | ||
| 1903 | #define Vdefault_text_properties \ | ||
| 1904 | globals.f_Vdefault_text_properties | ||
| 1905 | #define Vdeferred_action_function \ | ||
| 1906 | globals.f_Vdeferred_action_function | ||
| 1907 | #define Vdeferred_action_list \ | ||
| 1908 | globals.f_Vdeferred_action_list | ||
| 1909 | #define Vdefine_key_rebound_commands \ | ||
| 1910 | globals.f_Vdefine_key_rebound_commands | ||
| 1911 | #define Vdelete_frame_functions \ | ||
| 1912 | globals.f_Vdelete_frame_functions | ||
| 1913 | #define Vdelete_terminal_functions \ | ||
| 1914 | globals.f_Vdelete_terminal_functions | ||
| 1915 | #define Vdisable_point_adjustment \ | ||
| 1916 | globals.f_Vdisable_point_adjustment | ||
| 1917 | #define Vdisplay_pixels_per_inch \ | ||
| 1918 | globals.f_Vdisplay_pixels_per_inch | ||
| 1919 | #define Vdoc_directory \ | ||
| 1920 | globals.f_Vdoc_directory | ||
| 1921 | #define Vdoc_file_name \ | ||
| 1922 | globals.f_Vdoc_file_name | ||
| 1923 | #define Vdos_display_scancodes \ | ||
| 1924 | globals.f_Vdos_display_scancodes | ||
| 1925 | #define Vdos_unsupported_char_glyph \ | ||
| 1926 | globals.f_Vdos_unsupported_char_glyph | ||
| 1927 | #define Vdos_version \ | ||
| 1928 | globals.f_Vdos_version | ||
| 1929 | #define Vdos_windows_version \ | ||
| 1930 | globals.f_Vdos_windows_version | ||
| 1931 | #define Vdouble_click_time \ | ||
| 1932 | globals.f_Vdouble_click_time | ||
| 1933 | #define Vdynamic_library_alist \ | ||
| 1934 | globals.f_Vdynamic_library_alist | ||
| 1935 | #define Vecho_keystrokes \ | ||
| 1936 | globals.f_Vecho_keystrokes | ||
| 1937 | #define Vemacs_copyright \ | ||
| 1938 | globals.f_Vemacs_copyright | ||
| 1939 | #define Vemacs_version \ | ||
| 1940 | globals.f_Vemacs_version | ||
| 1941 | #define Vemulation_mode_map_alists \ | ||
| 1942 | globals.f_Vemulation_mode_map_alists | ||
| 1943 | #define Venable_character_translation \ | ||
| 1944 | globals.f_Venable_character_translation | ||
| 1945 | #define Venable_disabled_menus_and_buttons \ | ||
| 1946 | globals.f_Venable_disabled_menus_and_buttons | ||
| 1947 | #define Veval_buffer_list \ | ||
| 1948 | globals.f_Veval_buffer_list | ||
| 1949 | #define Vexec_directory \ | ||
| 1950 | globals.f_Vexec_directory | ||
| 1951 | #define Vexec_path \ | ||
| 1952 | globals.f_Vexec_path | ||
| 1953 | #define Vexec_suffixes \ | ||
| 1954 | globals.f_Vexec_suffixes | ||
| 1955 | #define Vkbd_macro_termination_hook \ | ||
| 1956 | globals.f_Vkbd_macro_termination_hook | ||
| 1957 | #define Vexecuting_kbd_macro \ | ||
| 1958 | globals.f_Vexecuting_kbd_macro | ||
| 1959 | #define Vface_default_stipple \ | ||
| 1960 | globals.f_Vface_default_stipple | ||
| 1961 | #define Vface_font_rescale_alist \ | ||
| 1962 | globals.f_Vface_font_rescale_alist | ||
| 1963 | #define Vface_ignored_fonts \ | ||
| 1964 | globals.f_Vface_ignored_fonts | ||
| 1965 | #define Vface_new_frame_defaults \ | ||
| 1966 | globals.f_Vface_new_frame_defaults | ||
| 1967 | #define Vface_remapping_alist \ | ||
| 1968 | globals.f_Vface_remapping_alist | ||
| 1969 | #define Vfeatures \ | ||
| 1970 | globals.f_Vfeatures | ||
| 1971 | #define Vfile_coding_system_alist \ | ||
| 1972 | globals.f_Vfile_coding_system_alist | ||
| 1973 | #define Vfile_name_coding_system \ | ||
| 1974 | globals.f_Vfile_name_coding_system | ||
| 1975 | #define Vfile_name_handler_alist \ | ||
| 1976 | globals.f_Vfile_name_handler_alist | ||
| 1977 | #define Vfind_word_boundary_function_table \ | ||
| 1978 | globals.f_Vfind_word_boundary_function_table | ||
| 1979 | #define Vfirst_change_hook \ | ||
| 1980 | globals.f_Vfirst_change_hook | ||
| 1981 | #define Vfloat_output_format \ | ||
| 1982 | globals.f_Vfloat_output_format | ||
| 1983 | #define Vfont_ccl_encoder_alist \ | ||
| 1984 | globals.f_Vfont_ccl_encoder_alist | ||
| 1985 | #define Vfont_encoding_alist \ | ||
| 1986 | globals.f_Vfont_encoding_alist | ||
| 1987 | #define Vfont_encoding_charset_alist \ | ||
| 1988 | globals.f_Vfont_encoding_charset_alist | ||
| 1989 | #define Vfont_list_limit \ | ||
| 1990 | globals.f_Vfont_list_limit | ||
| 1991 | #define Vfont_log \ | ||
| 1992 | globals.f_Vfont_log | ||
| 1993 | #define Vfont_slant_table \ | ||
| 1994 | globals.f_Vfont_slant_table | ||
| 1995 | #define Vfont_weight_table \ | ||
| 1996 | globals.f_Vfont_weight_table | ||
| 1997 | #define Vfont_width_table \ | ||
| 1998 | globals.f_Vfont_width_table | ||
| 1999 | #define Vfontification_functions \ | ||
| 2000 | globals.f_Vfontification_functions | ||
| 2001 | #define Vfontset_alias_alist \ | ||
| 2002 | globals.f_Vfontset_alias_alist | ||
| 2003 | #define Vframe_alpha_lower_limit \ | ||
| 2004 | globals.f_Vframe_alpha_lower_limit | ||
| 2005 | #define Vframe_title_format \ | ||
| 2006 | globals.f_Vframe_title_format | ||
| 2007 | #define Vfringe_bitmaps \ | ||
| 2008 | globals.f_Vfringe_bitmaps | ||
| 2009 | #define Vfunction_key_map \ | ||
| 2010 | globals.f_Vfunction_key_map | ||
| 2011 | #define Vgc_cons_percentage \ | ||
| 2012 | globals.f_Vgc_cons_percentage | ||
| 2013 | #define Vgc_elapsed \ | ||
| 2014 | globals.f_Vgc_elapsed | ||
| 2015 | #define Vglobal_disable_point_adjustment \ | ||
| 2016 | globals.f_Vglobal_disable_point_adjustment | ||
| 2017 | #define Vglobal_mode_string \ | ||
| 2018 | globals.f_Vglobal_mode_string | ||
| 2019 | #define Vglyph_table \ | ||
| 2020 | globals.f_Vglyph_table | ||
| 2021 | #define Vglyphless_char_display \ | ||
| 2022 | globals.f_Vglyphless_char_display | ||
| 2023 | #define Vgtk_version_string \ | ||
| 2024 | globals.f_Vgtk_version_string | ||
| 2025 | #define Vhelp_char \ | ||
| 2026 | globals.f_Vhelp_char | ||
| 2027 | #define Vhelp_event_list \ | ||
| 2028 | globals.f_Vhelp_event_list | ||
| 2029 | #define Vhelp_form \ | ||
| 2030 | globals.f_Vhelp_form | ||
| 2031 | #define Vhistory_add_new_input \ | ||
| 2032 | globals.f_Vhistory_add_new_input | ||
| 2033 | #define Vhistory_length \ | ||
| 2034 | globals.f_Vhistory_length | ||
| 2035 | #define Vhourglass_delay \ | ||
| 2036 | globals.f_Vhourglass_delay | ||
| 2037 | #define Vhscroll_step \ | ||
| 2038 | globals.f_Vhscroll_step | ||
| 2039 | #define Vicon_title_format \ | ||
| 2040 | globals.f_Vicon_title_format | ||
| 2041 | #define Vignore_relative_composition \ | ||
| 2042 | globals.f_Vignore_relative_composition | ||
| 2043 | #define Vimage_cache_eviction_delay \ | ||
| 2044 | globals.f_Vimage_cache_eviction_delay | ||
| 2045 | #define Vimage_types \ | ||
| 2046 | globals.f_Vimage_types | ||
| 2047 | #define Vimagemagick_render_type \ | ||
| 2048 | globals.f_Vimagemagick_render_type | ||
| 2049 | #define Vinhibit_changing_match_data \ | ||
| 2050 | globals.f_Vinhibit_changing_match_data | ||
| 2051 | #define Vinhibit_field_text_motion \ | ||
| 2052 | globals.f_Vinhibit_field_text_motion | ||
| 2053 | #define Vinhibit_file_name_handlers \ | ||
| 2054 | globals.f_Vinhibit_file_name_handlers | ||
| 2055 | #define Vinhibit_file_name_operation \ | ||
| 2056 | globals.f_Vinhibit_file_name_operation | ||
| 2057 | #define Vinhibit_point_motion_hooks \ | ||
| 2058 | globals.f_Vinhibit_point_motion_hooks | ||
| 2059 | #define Vinhibit_quit \ | ||
| 2060 | globals.f_Vinhibit_quit | ||
| 2061 | #define Vinhibit_read_only \ | ||
| 2062 | globals.f_Vinhibit_read_only | ||
| 2063 | #define Vinhibit_redisplay \ | ||
| 2064 | globals.f_Vinhibit_redisplay | ||
| 2065 | #define Vinitial_environment \ | ||
| 2066 | globals.f_Vinitial_environment | ||
| 2067 | #define Vinitial_window_system \ | ||
| 2068 | globals.f_Vinitial_window_system | ||
| 2069 | #define Vinput_method_function \ | ||
| 2070 | globals.f_Vinput_method_function | ||
| 2071 | #define Vinput_method_previous_message \ | ||
| 2072 | globals.f_Vinput_method_previous_message | ||
| 2073 | #define Vinstallation_directory \ | ||
| 2074 | globals.f_Vinstallation_directory | ||
| 2075 | #define Vinvocation_directory \ | ||
| 2076 | globals.f_Vinvocation_directory | ||
| 2077 | #define Vinvocation_name \ | ||
| 2078 | globals.f_Vinvocation_name | ||
| 2079 | #define Vkey_translation_map \ | ||
| 2080 | globals.f_Vkey_translation_map | ||
| 2081 | #define Vkill_buffer_query_functions \ | ||
| 2082 | globals.f_Vkill_buffer_query_functions | ||
| 2083 | #define Vkill_emacs_hook \ | ||
| 2084 | globals.f_Vkill_emacs_hook | ||
| 2085 | #define Vlast_code_conversion_error \ | ||
| 2086 | globals.f_Vlast_code_conversion_error | ||
| 2087 | #define Vlast_coding_system_used \ | ||
| 2088 | globals.f_Vlast_coding_system_used | ||
| 2089 | #define Vlast_event_frame \ | ||
| 2090 | globals.f_Vlast_event_frame | ||
| 2091 | #define Vlatin_extra_code_table \ | ||
| 2092 | globals.f_Vlatin_extra_code_table | ||
| 2093 | #define Vline_number_display_limit \ | ||
| 2094 | globals.f_Vline_number_display_limit | ||
| 2095 | #define Vline_prefix \ | ||
| 2096 | globals.f_Vline_prefix | ||
| 2097 | #define Vload_file_name \ | ||
| 2098 | globals.f_Vload_file_name | ||
| 2099 | #define Vload_file_rep_suffixes \ | ||
| 2100 | globals.f_Vload_file_rep_suffixes | ||
| 2101 | #define Vload_history \ | ||
| 2102 | globals.f_Vload_history | ||
| 2103 | #define Vload_path \ | ||
| 2104 | globals.f_Vload_path | ||
| 2105 | #define Vload_read_function \ | ||
| 2106 | globals.f_Vload_read_function | ||
| 2107 | #define Vload_source_file_function \ | ||
| 2108 | globals.f_Vload_source_file_function | ||
| 2109 | #define Vload_suffixes \ | ||
| 2110 | globals.f_Vload_suffixes | ||
| 2111 | #define Vlocale_coding_system \ | ||
| 2112 | globals.f_Vlocale_coding_system | ||
| 2113 | #define Vlucid_menu_bar_dirty_flag \ | ||
| 2114 | globals.f_Vlucid_menu_bar_dirty_flag | ||
| 2115 | #define Vmacro_declaration_function \ | ||
| 2116 | globals.f_Vmacro_declaration_function | ||
| 2117 | #define Vmake_pointer_invisible \ | ||
| 2118 | globals.f_Vmake_pointer_invisible | ||
| 2119 | #define Vmark_even_if_inactive \ | ||
| 2120 | globals.f_Vmark_even_if_inactive | ||
| 2121 | #define Vmax_image_size \ | ||
| 2122 | globals.f_Vmax_image_size | ||
| 2123 | #define Vmax_mini_window_height \ | ||
| 2124 | globals.f_Vmax_mini_window_height | ||
| 2125 | #define Vmemory_full \ | ||
| 2126 | globals.f_Vmemory_full | ||
| 2127 | #define Vmemory_signal_data \ | ||
| 2128 | globals.f_Vmemory_signal_data | ||
| 2129 | #define Vmenu_bar_final_items \ | ||
| 2130 | globals.f_Vmenu_bar_final_items | ||
| 2131 | #define Vmenu_bar_mode \ | ||
| 2132 | globals.f_Vmenu_bar_mode | ||
| 2133 | #define Vmenu_bar_update_hook \ | ||
| 2134 | globals.f_Vmenu_bar_update_hook | ||
| 2135 | #define Vmenu_updating_frame \ | ||
| 2136 | globals.f_Vmenu_updating_frame | ||
| 2137 | #define Vmessage_log_max \ | ||
| 2138 | globals.f_Vmessage_log_max | ||
| 2139 | #define Vminibuf_scroll_window \ | ||
| 2140 | globals.f_Vminibuf_scroll_window | ||
| 2141 | #define Vminibuffer_completing_file_name \ | ||
| 2142 | globals.f_Vminibuffer_completing_file_name | ||
| 2143 | #define Vminibuffer_completion_confirm \ | ||
| 2144 | globals.f_Vminibuffer_completion_confirm | ||
| 2145 | #define Vminibuffer_completion_predicate \ | ||
| 2146 | globals.f_Vminibuffer_completion_predicate | ||
| 2147 | #define Vminibuffer_completion_table \ | ||
| 2148 | globals.f_Vminibuffer_completion_table | ||
| 2149 | #define Vminibuffer_exit_hook \ | ||
| 2150 | globals.f_Vminibuffer_exit_hook | ||
| 2151 | #define Vminibuffer_help_form \ | ||
| 2152 | globals.f_Vminibuffer_help_form | ||
| 2153 | #define Vminibuffer_history_position \ | ||
| 2154 | globals.f_Vminibuffer_history_position | ||
| 2155 | #define Vminibuffer_history_variable \ | ||
| 2156 | globals.f_Vminibuffer_history_variable | ||
| 2157 | #define Vminibuffer_local_completion_map \ | ||
| 2158 | globals.f_Vminibuffer_local_completion_map | ||
| 2159 | #define Vminibuffer_local_filename_completion_map \ | ||
| 2160 | globals.f_Vminibuffer_local_filename_completion_map | ||
| 2161 | #define Vminibuffer_local_filename_must_match_map \ | ||
| 2162 | globals.f_Vminibuffer_local_filename_must_match_map | ||
| 2163 | #define Vminibuffer_local_map \ | ||
| 2164 | globals.f_Vminibuffer_local_map | ||
| 2165 | #define Vminibuffer_local_must_match_map \ | ||
| 2166 | globals.f_Vminibuffer_local_must_match_map | ||
| 2167 | #define Vminibuffer_local_ns_map \ | ||
| 2168 | globals.f_Vminibuffer_local_ns_map | ||
| 2169 | #define Vminibuffer_message_timeout \ | ||
| 2170 | globals.f_Vminibuffer_message_timeout | ||
| 2171 | #define Vminibuffer_prompt_properties \ | ||
| 2172 | globals.f_Vminibuffer_prompt_properties | ||
| 2173 | #define Vminibuffer_setup_hook \ | ||
| 2174 | globals.f_Vminibuffer_setup_hook | ||
| 2175 | #define Vminor_mode_map_alist \ | ||
| 2176 | globals.f_Vminor_mode_map_alist | ||
| 2177 | #define Vminor_mode_overriding_map_alist \ | ||
| 2178 | globals.f_Vminor_mode_overriding_map_alist | ||
| 2179 | #define Vmost_negative_fixnum \ | ||
| 2180 | globals.f_Vmost_negative_fixnum | ||
| 2181 | #define Vmost_positive_fixnum \ | ||
| 2182 | globals.f_Vmost_positive_fixnum | ||
| 2183 | #define Vmotif_version_string \ | ||
| 2184 | globals.f_Vmotif_version_string | ||
| 2185 | #define Vmouse_autoselect_window \ | ||
| 2186 | globals.f_Vmouse_autoselect_window | ||
| 2187 | #define Vmouse_highlight \ | ||
| 2188 | globals.f_Vmouse_highlight | ||
| 2189 | #define Vmouse_leave_buffer_hook \ | ||
| 2190 | globals.f_Vmouse_leave_buffer_hook | ||
| 2191 | #define Vmouse_position_function \ | ||
| 2192 | globals.f_Vmouse_position_function | ||
| 2193 | #define Vnetwork_coding_system_alist \ | ||
| 2194 | globals.f_Vnetwork_coding_system_alist | ||
| 2195 | #define Vnext_selection_coding_system \ | ||
| 2196 | globals.f_Vnext_selection_coding_system | ||
| 2197 | #define Vnobreak_char_display \ | ||
| 2198 | globals.f_Vnobreak_char_display | ||
| 2199 | #define Vobarray \ | ||
| 2200 | globals.f_Vobarray | ||
| 2201 | #define Vold_style_backquotes \ | ||
| 2202 | globals.f_Vold_style_backquotes | ||
| 2203 | #define Voperating_system_release \ | ||
| 2204 | globals.f_Voperating_system_release | ||
| 2205 | #define Votf_script_alist \ | ||
| 2206 | globals.f_Votf_script_alist | ||
| 2207 | #define Vother_window_scroll_buffer \ | ||
| 2208 | globals.f_Vother_window_scroll_buffer | ||
| 2209 | #define Voverflow_newline_into_fringe \ | ||
| 2210 | globals.f_Voverflow_newline_into_fringe | ||
| 2211 | #define Voverlay_arrow_position \ | ||
| 2212 | globals.f_Voverlay_arrow_position | ||
| 2213 | #define Voverlay_arrow_string \ | ||
| 2214 | globals.f_Voverlay_arrow_string | ||
| 2215 | #define Voverlay_arrow_variable_list \ | ||
| 2216 | globals.f_Voverlay_arrow_variable_list | ||
| 2217 | #define Voverriding_local_map \ | ||
| 2218 | globals.f_Voverriding_local_map | ||
| 2219 | #define Voverriding_local_map_menu_flag \ | ||
| 2220 | globals.f_Voverriding_local_map_menu_flag | ||
| 2221 | #define Vpath_separator \ | ||
| 2222 | globals.f_Vpath_separator | ||
| 2223 | #define Vpost_command_hook \ | ||
| 2224 | globals.f_Vpost_command_hook | ||
| 2225 | #define Vpost_gc_hook \ | ||
| 2226 | globals.f_Vpost_gc_hook | ||
| 2227 | #define Vpost_self_insert_hook \ | ||
| 2228 | globals.f_Vpost_self_insert_hook | ||
| 2229 | #define Vpre_command_hook \ | ||
| 2230 | globals.f_Vpre_command_hook | ||
| 2231 | #define Vprefix_help_command \ | ||
| 2232 | globals.f_Vprefix_help_command | ||
| 2233 | #define Vpreloaded_file_list \ | ||
| 2234 | globals.f_Vpreloaded_file_list | ||
| 2235 | #define Vprevious_system_messages_locale \ | ||
| 2236 | globals.f_Vprevious_system_messages_locale | ||
| 2237 | #define Vprevious_system_time_locale \ | ||
| 2238 | globals.f_Vprevious_system_time_locale | ||
| 2239 | #define Vprint_charset_text_property \ | ||
| 2240 | globals.f_Vprint_charset_text_property | ||
| 2241 | #define Vprint_circle \ | ||
| 2242 | globals.f_Vprint_circle | ||
| 2243 | #define Vprint_continuous_numbering \ | ||
| 2244 | globals.f_Vprint_continuous_numbering | ||
| 2245 | #define Vprint_gensym \ | ||
| 2246 | globals.f_Vprint_gensym | ||
| 2247 | #define Vprint_length \ | ||
| 2248 | globals.f_Vprint_length | ||
| 2249 | #define Vprint_level \ | ||
| 2250 | globals.f_Vprint_level | ||
| 2251 | #define Vprint_number_table \ | ||
| 2252 | globals.f_Vprint_number_table | ||
| 2253 | #define Vprintable_chars \ | ||
| 2254 | globals.f_Vprintable_chars | ||
| 2255 | #define Vprocess_adaptive_read_buffering \ | ||
| 2256 | globals.f_Vprocess_adaptive_read_buffering | ||
| 2257 | #define Vprocess_coding_system_alist \ | ||
| 2258 | globals.f_Vprocess_coding_system_alist | ||
| 2259 | #define Vprocess_connection_type \ | ||
| 2260 | globals.f_Vprocess_connection_type | ||
| 2261 | #define Vprocess_environment \ | ||
| 2262 | globals.f_Vprocess_environment | ||
| 2263 | #define Vpurify_flag \ | ||
| 2264 | globals.f_Vpurify_flag | ||
| 2265 | #define Vquit_flag \ | ||
| 2266 | globals.f_Vquit_flag | ||
| 2267 | #define Vread_buffer_function \ | ||
| 2268 | globals.f_Vread_buffer_function | ||
| 2269 | #define Vread_expression_history \ | ||
| 2270 | globals.f_Vread_expression_history | ||
| 2271 | #define Vread_circle \ | ||
| 2272 | globals.f_Vread_circle | ||
| 2273 | #define Vread_expression_map \ | ||
| 2274 | globals.f_Vread_expression_map | ||
| 2275 | #define Vread_symbol_positions_list \ | ||
| 2276 | globals.f_Vread_symbol_positions_list | ||
| 2277 | #define Vread_with_symbol_positions \ | ||
| 2278 | globals.f_Vread_with_symbol_positions | ||
| 2279 | #define Vrecenter_redisplay \ | ||
| 2280 | globals.f_Vrecenter_redisplay | ||
| 2281 | #define Vredisplay_end_trigger_functions \ | ||
| 2282 | globals.f_Vredisplay_end_trigger_functions | ||
| 2283 | #define Vredisplay_preemption_period \ | ||
| 2284 | globals.f_Vredisplay_preemption_period | ||
| 2285 | #define Vresize_mini_windows \ | ||
| 2286 | globals.f_Vresize_mini_windows | ||
| 2287 | #define Vresume_tty_functions \ | ||
| 2288 | globals.f_Vresume_tty_functions | ||
| 2289 | #define Vring_bell_function \ | ||
| 2290 | globals.f_Vring_bell_function | ||
| 2291 | #define Vsaved_region_selection \ | ||
| 2292 | globals.f_Vsaved_region_selection | ||
| 2293 | #define Vscalable_fonts_allowed \ | ||
| 2294 | globals.f_Vscalable_fonts_allowed | ||
| 2295 | #define Vscript_representative_chars \ | ||
| 2296 | globals.f_Vscript_representative_chars | ||
| 2297 | #define Vscroll_preserve_screen_position \ | ||
| 2298 | globals.f_Vscroll_preserve_screen_position | ||
| 2299 | #define Vsearch_spaces_regexp \ | ||
| 2300 | globals.f_Vsearch_spaces_regexp | ||
| 2301 | #define Vselect_active_regions \ | ||
| 2302 | globals.f_Vselect_active_regions | ||
| 2303 | #define Vselect_safe_coding_system_function \ | ||
| 2304 | globals.f_Vselect_safe_coding_system_function | ||
| 2305 | #define Vselection_coding_system \ | ||
| 2306 | globals.f_Vselection_coding_system | ||
| 2307 | #define Vselection_converter_alist \ | ||
| 2308 | globals.f_Vselection_converter_alist | ||
| 2309 | #define Vset_auto_coding_function \ | ||
| 2310 | globals.f_Vset_auto_coding_function | ||
| 2311 | #define Vshared_game_score_directory \ | ||
| 2312 | globals.f_Vshared_game_score_directory | ||
| 2313 | #define Vshell_file_name \ | ||
| 2314 | globals.f_Vshell_file_name | ||
| 2315 | #define Vshow_help_function \ | ||
| 2316 | globals.f_Vshow_help_function | ||
| 2317 | #define Vshow_trailing_whitespace \ | ||
| 2318 | globals.f_Vshow_trailing_whitespace | ||
| 2319 | #define Vsignal_hook_function \ | ||
| 2320 | globals.f_Vsignal_hook_function | ||
| 2321 | #define Vsource_directory \ | ||
| 2322 | globals.f_Vsource_directory | ||
| 2323 | #define Vspecial_event_map \ | ||
| 2324 | globals.f_Vspecial_event_map | ||
| 2325 | #define Vstandard_display_table \ | ||
| 2326 | globals.f_Vstandard_display_table | ||
| 2327 | #define Vstandard_input \ | ||
| 2328 | globals.f_Vstandard_input | ||
| 2329 | #define Vstandard_output \ | ||
| 2330 | globals.f_Vstandard_output | ||
| 2331 | #define Vstandard_translation_table_for_decode \ | ||
| 2332 | globals.f_Vstandard_translation_table_for_decode | ||
| 2333 | #define Vstandard_translation_table_for_encode \ | ||
| 2334 | globals.f_Vstandard_translation_table_for_encode | ||
| 2335 | #define Vsuggest_key_bindings \ | ||
| 2336 | globals.f_Vsuggest_key_bindings | ||
| 2337 | #define Vsuspend_tty_functions \ | ||
| 2338 | globals.f_Vsuspend_tty_functions | ||
| 2339 | #define Vsystem_configuration \ | ||
| 2340 | globals.f_Vsystem_configuration | ||
| 2341 | #define Vsystem_configuration_options \ | ||
| 2342 | globals.f_Vsystem_configuration_options | ||
| 2343 | #define Vsystem_messages_locale \ | ||
| 2344 | globals.f_Vsystem_messages_locale | ||
| 2345 | #define Vsystem_name \ | ||
| 2346 | globals.f_Vsystem_name | ||
| 2347 | #define Vsystem_time_locale \ | ||
| 2348 | globals.f_Vsystem_time_locale | ||
| 2349 | #define Vsystem_type \ | ||
| 2350 | globals.f_Vsystem_type | ||
| 2351 | #define Vtemp_buffer_show_function \ | ||
| 2352 | globals.f_Vtemp_buffer_show_function | ||
| 2353 | #define Vtemporary_file_directory \ | ||
| 2354 | globals.f_Vtemporary_file_directory | ||
| 2355 | #define Vterminal_frame \ | ||
| 2356 | globals.f_Vterminal_frame | ||
| 2357 | #define Vtext_property_default_nonsticky \ | ||
| 2358 | globals.f_Vtext_property_default_nonsticky | ||
| 2359 | #define Vthis_command \ | ||
| 2360 | globals.f_Vthis_command | ||
| 2361 | #define Vthis_command_keys_shift_translated \ | ||
| 2362 | globals.f_Vthis_command_keys_shift_translated | ||
| 2363 | #define Vthis_original_command \ | ||
| 2364 | globals.f_Vthis_original_command | ||
| 2365 | #define Vthrow_on_input \ | ||
| 2366 | globals.f_Vthrow_on_input | ||
| 2367 | #define Vtimer_idle_list \ | ||
| 2368 | globals.f_Vtimer_idle_list | ||
| 2369 | #define Vtimer_list \ | ||
| 2370 | globals.f_Vtimer_list | ||
| 2371 | #define Vtool_bar_border \ | ||
| 2372 | globals.f_Vtool_bar_border | ||
| 2373 | #define Vtool_bar_button_margin \ | ||
| 2374 | globals.f_Vtool_bar_button_margin | ||
| 2375 | #define Vtool_bar_mode \ | ||
| 2376 | globals.f_Vtool_bar_mode | ||
| 2377 | #define Vtool_bar_separator_image_expression \ | ||
| 2378 | globals.f_Vtool_bar_separator_image_expression | ||
| 2379 | #define Vtool_bar_style \ | ||
| 2380 | globals.f_Vtool_bar_style | ||
| 2381 | #define Vtop_level \ | ||
| 2382 | globals.f_Vtop_level | ||
| 2383 | #define Vtransient_mark_mode \ | ||
| 2384 | globals.f_Vtransient_mark_mode | ||
| 2385 | #define Vtranslation_hash_table_vector \ | ||
| 2386 | globals.f_Vtranslation_hash_table_vector | ||
| 2387 | #define Vtranslation_table_for_input \ | ||
| 2388 | globals.f_Vtranslation_table_for_input | ||
| 2389 | #define Vtranslation_table_vector \ | ||
| 2390 | globals.f_Vtranslation_table_vector | ||
| 2391 | #define Vtruncate_partial_width_windows \ | ||
| 2392 | globals.f_Vtruncate_partial_width_windows | ||
| 2393 | #define Vtty_defined_color_alist \ | ||
| 2394 | globals.f_Vtty_defined_color_alist | ||
| 2395 | #define Vtty_erase_char \ | ||
| 2396 | globals.f_Vtty_erase_char | ||
| 2397 | #define Vundo_outer_limit \ | ||
| 2398 | globals.f_Vundo_outer_limit | ||
| 2399 | #define Vundo_outer_limit_function \ | ||
| 2400 | globals.f_Vundo_outer_limit_function | ||
| 2401 | #define Vunicode_category_table \ | ||
| 2402 | globals.f_Vunicode_category_table | ||
| 2403 | #define Vunread_command_events \ | ||
| 2404 | globals.f_Vunread_command_events | ||
| 2405 | #define Vunread_input_method_events \ | ||
| 2406 | globals.f_Vunread_input_method_events | ||
| 2407 | #define Vunread_post_input_method_events \ | ||
| 2408 | globals.f_Vunread_post_input_method_events | ||
| 2409 | #define Vuse_default_ascent \ | ||
| 2410 | globals.f_Vuse_default_ascent | ||
| 2411 | #define Vuser_full_name \ | ||
| 2412 | globals.f_Vuser_full_name | ||
| 2413 | #define Vuser_init_file \ | ||
| 2414 | globals.f_Vuser_init_file | ||
| 2415 | #define Vuser_login_name \ | ||
| 2416 | globals.f_Vuser_login_name | ||
| 2417 | #define Vuser_real_login_name \ | ||
| 2418 | globals.f_Vuser_real_login_name | ||
| 2419 | #define Vvalues \ | ||
| 2420 | globals.f_Vvalues | ||
| 2421 | #define Vvertical_centering_font_regexp \ | ||
| 2422 | globals.f_Vvertical_centering_font_regexp | ||
| 2423 | #define Vvoid_text_area_pointer \ | ||
| 2424 | globals.f_Vvoid_text_area_pointer | ||
| 2425 | #define Vw32_alt_is_meta \ | ||
| 2426 | globals.f_Vw32_alt_is_meta | ||
| 2427 | #define Vw32_apps_modifier \ | ||
| 2428 | globals.f_Vw32_apps_modifier | ||
| 2429 | #define Vw32_bdf_filename_alist \ | ||
| 2430 | globals.f_Vw32_bdf_filename_alist | ||
| 2431 | #define Vw32_capslock_is_shiftlock \ | ||
| 2432 | globals.f_Vw32_capslock_is_shiftlock | ||
| 2433 | #define Vw32_charset_info_alist \ | ||
| 2434 | globals.f_Vw32_charset_info_alist | ||
| 2435 | #define Vw32_color_map \ | ||
| 2436 | globals.f_Vw32_color_map | ||
| 2437 | #define Vw32_downcase_file_names \ | ||
| 2438 | globals.f_Vw32_downcase_file_names | ||
| 2439 | #define Vw32_enable_caps_lock \ | ||
| 2440 | globals.f_Vw32_enable_caps_lock | ||
| 2441 | #define Vw32_enable_num_lock \ | ||
| 2442 | globals.f_Vw32_enable_num_lock | ||
| 2443 | #define Vw32_enable_palette \ | ||
| 2444 | globals.f_Vw32_enable_palette | ||
| 2445 | #define Vw32_generate_fake_inodes \ | ||
| 2446 | globals.f_Vw32_generate_fake_inodes | ||
| 2447 | #define Vw32_get_true_file_attributes \ | ||
| 2448 | globals.f_Vw32_get_true_file_attributes | ||
| 2449 | #define Vw32_grab_focus_on_raise \ | ||
| 2450 | globals.f_Vw32_grab_focus_on_raise | ||
| 2451 | #define Vw32_lwindow_modifier \ | ||
| 2452 | globals.f_Vw32_lwindow_modifier | ||
| 2453 | #define Vw32_pass_alt_to_system \ | ||
| 2454 | globals.f_Vw32_pass_alt_to_system | ||
| 2455 | #define Vw32_pass_lwindow_to_system \ | ||
| 2456 | globals.f_Vw32_pass_lwindow_to_system | ||
| 2457 | #define Vw32_pass_rwindow_to_system \ | ||
| 2458 | globals.f_Vw32_pass_rwindow_to_system | ||
| 2459 | #define Vw32_phantom_key_code \ | ||
| 2460 | globals.f_Vw32_phantom_key_code | ||
| 2461 | #define Vw32_quote_process_args \ | ||
| 2462 | globals.f_Vw32_quote_process_args | ||
| 2463 | #define Vw32_recognize_altgr \ | ||
| 2464 | globals.f_Vw32_recognize_altgr | ||
| 2465 | #define Vw32_rwindow_modifier \ | ||
| 2466 | globals.f_Vw32_rwindow_modifier | ||
| 2467 | #define Vw32_scroll_lock_modifier \ | ||
| 2468 | globals.f_Vw32_scroll_lock_modifier | ||
| 2469 | #define Vw32_start_process_inherit_error_mode \ | ||
| 2470 | globals.f_Vw32_start_process_inherit_error_mode | ||
| 2471 | #define Vw32_start_process_share_console \ | ||
| 2472 | globals.f_Vw32_start_process_share_console | ||
| 2473 | #define Vw32_start_process_show_window \ | ||
| 2474 | globals.f_Vw32_start_process_show_window | ||
| 2475 | #define Vw32_swap_mouse_buttons \ | ||
| 2476 | globals.f_Vw32_swap_mouse_buttons | ||
| 2477 | #define Vwhere_is_preferred_modifier \ | ||
| 2478 | globals.f_Vwhere_is_preferred_modifier | ||
| 2479 | #define Vwindow_configuration_change_hook \ | ||
| 2480 | globals.f_Vwindow_configuration_change_hook | ||
| 2481 | #define Vwindow_point_insertion_type \ | ||
| 2482 | globals.f_Vwindow_point_insertion_type | ||
| 2483 | #define Vwindow_scroll_functions \ | ||
| 2484 | globals.f_Vwindow_scroll_functions | ||
| 2485 | #define Vwindow_size_change_functions \ | ||
| 2486 | globals.f_Vwindow_size_change_functions | ||
| 2487 | #define Vwindow_system_version \ | ||
| 2488 | globals.f_Vwindow_system_version | ||
| 2489 | #define Vwindow_text_change_functions \ | ||
| 2490 | globals.f_Vwindow_text_change_functions | ||
| 2491 | #define Vword_combining_categories \ | ||
| 2492 | globals.f_Vword_combining_categories | ||
| 2493 | #define Vword_separating_categories \ | ||
| 2494 | globals.f_Vword_separating_categories | ||
| 2495 | #define Vwrap_prefix \ | ||
| 2496 | globals.f_Vwrap_prefix | ||
| 2497 | #define Vwrite_region_annotate_functions \ | ||
| 2498 | globals.f_Vwrite_region_annotate_functions | ||
| 2499 | #define Vwrite_region_annotations_so_far \ | ||
| 2500 | globals.f_Vwrite_region_annotations_so_far | ||
| 2501 | #define Vwrite_region_post_annotation_function \ | ||
| 2502 | globals.f_Vwrite_region_post_annotation_function | ||
| 2503 | #define Vx_alt_keysym \ | ||
| 2504 | globals.f_Vx_alt_keysym | ||
| 2505 | #define Vx_bitmap_file_path \ | ||
| 2506 | globals.f_Vx_bitmap_file_path | ||
| 2507 | #define Vx_cursor_fore_pixel \ | ||
| 2508 | globals.f_Vx_cursor_fore_pixel | ||
| 2509 | #define Vx_hourglass_pointer_shape \ | ||
| 2510 | globals.f_Vx_hourglass_pointer_shape | ||
| 2511 | #define Vx_hyper_keysym \ | ||
| 2512 | globals.f_Vx_hyper_keysym | ||
| 2513 | #define Vx_keysym_table \ | ||
| 2514 | globals.f_Vx_keysym_table | ||
| 2515 | #define Vx_lost_selection_functions \ | ||
| 2516 | globals.f_Vx_lost_selection_functions | ||
| 2517 | #define Vx_max_tooltip_size \ | ||
| 2518 | globals.f_Vx_max_tooltip_size | ||
| 2519 | #define Vx_meta_keysym \ | ||
| 2520 | globals.f_Vx_meta_keysym | ||
| 2521 | #define Vx_mode_pointer_shape \ | ||
| 2522 | globals.f_Vx_mode_pointer_shape | ||
| 2523 | #define Vx_no_window_manager \ | ||
| 2524 | globals.f_Vx_no_window_manager | ||
| 2525 | #define Vx_nontext_pointer_shape \ | ||
| 2526 | globals.f_Vx_nontext_pointer_shape | ||
| 2527 | #define Vx_pixel_size_width_font_regexp \ | ||
| 2528 | globals.f_Vx_pixel_size_width_font_regexp | ||
| 2529 | #define Vx_pointer_shape \ | ||
| 2530 | globals.f_Vx_pointer_shape | ||
| 2531 | #define Vx_resource_class \ | ||
| 2532 | globals.f_Vx_resource_class | ||
| 2533 | #define Vx_resource_name \ | ||
| 2534 | globals.f_Vx_resource_name | ||
| 2535 | #define Vx_sensitive_text_pointer_shape \ | ||
| 2536 | globals.f_Vx_sensitive_text_pointer_shape | ||
| 2537 | #define Vx_sent_selection_functions \ | ||
| 2538 | globals.f_Vx_sent_selection_functions | ||
| 2539 | #define Vx_session_id \ | ||
| 2540 | globals.f_Vx_session_id | ||
| 2541 | #define Vx_session_previous_id \ | ||
| 2542 | globals.f_Vx_session_previous_id | ||
| 2543 | #define Vx_super_keysym \ | ||
| 2544 | globals.f_Vx_super_keysym | ||
| 2545 | #define Vx_toolkit_scroll_bars \ | ||
| 2546 | globals.f_Vx_toolkit_scroll_bars | ||
| 2547 | #define Vx_window_horizontal_drag_shape \ | ||
| 2548 | globals.f_Vx_window_horizontal_drag_shape | ||
| 2549 | #define Vxft_settings \ | ||
| 2550 | globals.f_Vxft_settings | ||
| 2551 | #define auto_raise_tool_bar_buttons_p \ | ||
| 2552 | globals.f_auto_raise_tool_bar_buttons_p | ||
| 2553 | #define auto_save_interval \ | ||
| 2554 | globals.f_auto_save_interval | ||
| 2555 | #define auto_window_vscroll_p \ | ||
| 2556 | globals.f_auto_window_vscroll_p | ||
| 2557 | #define automatic_hscrolling_p \ | ||
| 2558 | globals.f_automatic_hscrolling_p | ||
| 2559 | #define baud_rate \ | ||
| 2560 | globals.f_baud_rate | ||
| 2561 | #define byte_debug_flag \ | ||
| 2562 | globals.f_byte_debug_flag | ||
| 2563 | #define byte_metering_on \ | ||
| 2564 | globals.f_byte_metering_on | ||
| 2565 | #define cannot_suspend \ | ||
| 2566 | globals.f_cannot_suspend | ||
| 2567 | #define check_markers_debug_flag \ | ||
| 2568 | globals.f_check_markers_debug_flag | ||
| 2569 | #define coding_system_require_warning \ | ||
| 2570 | globals.f_coding_system_require_warning | ||
| 2571 | #define completion_ignore_case \ | ||
| 2572 | globals.f_completion_ignore_case | ||
| 2573 | #define cons_cells_consed \ | ||
| 2574 | globals.f_cons_cells_consed | ||
| 2575 | #define cross_disabled_images \ | ||
| 2576 | globals.f_cross_disabled_images | ||
| 2577 | #define cursor_in_echo_area \ | ||
| 2578 | globals.f_cursor_in_echo_area | ||
| 2579 | #define debug_end_pos \ | ||
| 2580 | globals.f_debug_end_pos | ||
| 2581 | #define debug_on_next_call \ | ||
| 2582 | globals.f_debug_on_next_call | ||
| 2583 | #define debug_on_quit \ | ||
| 2584 | globals.f_debug_on_quit | ||
| 2585 | #define debugger_may_continue \ | ||
| 2586 | globals.f_debugger_may_continue | ||
| 2587 | #define delete_by_moving_to_trash \ | ||
| 2588 | globals.f_delete_by_moving_to_trash | ||
| 2589 | #define delete_exited_processes \ | ||
| 2590 | globals.f_delete_exited_processes | ||
| 2591 | #define display_hourglass_p \ | ||
| 2592 | globals.f_display_hourglass_p | ||
| 2593 | #define do_mouse_tracking \ | ||
| 2594 | globals.f_do_mouse_tracking | ||
| 2595 | #define dos_codepage \ | ||
| 2596 | globals.f_dos_codepage | ||
| 2597 | #define dos_country_code \ | ||
| 2598 | globals.f_dos_country_code | ||
| 2599 | #define dos_decimal_point \ | ||
| 2600 | globals.f_dos_decimal_point | ||
| 2601 | #define dos_hyper_key \ | ||
| 2602 | globals.f_dos_hyper_key | ||
| 2603 | #define dos_keyboard_layout \ | ||
| 2604 | globals.f_dos_keyboard_layout | ||
| 2605 | #define dos_keypad_mode \ | ||
| 2606 | globals.f_dos_keypad_mode | ||
| 2607 | #define dos_super_key \ | ||
| 2608 | globals.f_dos_super_key | ||
| 2609 | #define dos_timezone_offset \ | ||
| 2610 | globals.f_dos_timezone_offset | ||
| 2611 | #define double_click_fuzz \ | ||
| 2612 | globals.f_double_click_fuzz | ||
| 2613 | #define emacs_scroll_step \ | ||
| 2614 | globals.f_emacs_scroll_step | ||
| 2615 | #define enable_recursive_minibuffers \ | ||
| 2616 | globals.f_enable_recursive_minibuffers | ||
| 2617 | #define eol_mnemonic_dos \ | ||
| 2618 | globals.f_eol_mnemonic_dos | ||
| 2619 | #define eol_mnemonic_mac \ | ||
| 2620 | globals.f_eol_mnemonic_mac | ||
| 2621 | #define eol_mnemonic_undecided \ | ||
| 2622 | globals.f_eol_mnemonic_undecided | ||
| 2623 | #define eol_mnemonic_unix \ | ||
| 2624 | globals.f_eol_mnemonic_unix | ||
| 2625 | #define executing_kbd_macro_index \ | ||
| 2626 | globals.f_executing_kbd_macro_index | ||
| 2627 | #define extra_keyboard_modifiers \ | ||
| 2628 | globals.f_extra_keyboard_modifiers | ||
| 2629 | #define floats_consed \ | ||
| 2630 | globals.f_floats_consed | ||
| 2631 | #define focus_follows_mouse \ | ||
| 2632 | globals.f_focus_follows_mouse | ||
| 2633 | #define force_load_messages \ | ||
| 2634 | globals.f_force_load_messages | ||
| 2635 | #define garbage_collection_messages \ | ||
| 2636 | globals.f_garbage_collection_messages | ||
| 2637 | #define gc_cons_threshold \ | ||
| 2638 | globals.f_gc_cons_threshold | ||
| 2639 | #define gcs_done \ | ||
| 2640 | globals.f_gcs_done | ||
| 2641 | #define highlight_nonselected_windows \ | ||
| 2642 | globals.f_highlight_nonselected_windows | ||
| 2643 | #define history_delete_duplicates \ | ||
| 2644 | globals.f_history_delete_duplicates | ||
| 2645 | #define hscroll_margin \ | ||
| 2646 | globals.f_hscroll_margin | ||
| 2647 | #define indent_tabs_mode \ | ||
| 2648 | globals.f_indent_tabs_mode | ||
| 2649 | #define inherit_process_coding_system \ | ||
| 2650 | globals.f_inherit_process_coding_system | ||
| 2651 | #define inhibit_eol_conversion \ | ||
| 2652 | globals.f_inhibit_eol_conversion | ||
| 2653 | #define inhibit_eval_during_redisplay \ | ||
| 2654 | globals.f_inhibit_eval_during_redisplay | ||
| 2655 | #define inhibit_free_realized_faces \ | ||
| 2656 | globals.f_inhibit_free_realized_faces | ||
| 2657 | #define inhibit_iso_escape_detection \ | ||
| 2658 | globals.f_inhibit_iso_escape_detection | ||
| 2659 | #define inhibit_load_charset_map \ | ||
| 2660 | globals.f_inhibit_load_charset_map | ||
| 2661 | #define inhibit_local_menu_bar_menus \ | ||
| 2662 | globals.f_inhibit_local_menu_bar_menus | ||
| 2663 | #define inhibit_menubar_update \ | ||
| 2664 | globals.f_inhibit_menubar_update | ||
| 2665 | #define inhibit_modification_hooks \ | ||
| 2666 | globals.f_inhibit_modification_hooks | ||
| 2667 | #define inhibit_null_byte_detection \ | ||
| 2668 | globals.f_inhibit_null_byte_detection | ||
| 2669 | #define inhibit_try_cursor_movement \ | ||
| 2670 | globals.f_inhibit_try_cursor_movement | ||
| 2671 | #define inhibit_try_window_id \ | ||
| 2672 | globals.f_inhibit_try_window_id | ||
| 2673 | #define inhibit_try_window_reusing \ | ||
| 2674 | globals.f_inhibit_try_window_reusing | ||
| 2675 | #define inhibit_x_resources \ | ||
| 2676 | globals.f_inhibit_x_resources | ||
| 2677 | #define intervals_consed \ | ||
| 2678 | globals.f_intervals_consed | ||
| 2679 | #define inverse_video \ | ||
| 2680 | globals.f_inverse_video | ||
| 2681 | #define last_command_event \ | ||
| 2682 | globals.f_last_command_event | ||
| 2683 | #define last_input_event \ | ||
| 2684 | globals.f_last_input_event | ||
| 2685 | #define last_nonmenu_event \ | ||
| 2686 | globals.f_last_nonmenu_event | ||
| 2687 | #define line_number_display_limit_width \ | ||
| 2688 | globals.f_line_number_display_limit_width | ||
| 2689 | #define load_convert_to_unibyte \ | ||
| 2690 | globals.f_load_convert_to_unibyte | ||
| 2691 | #define load_dangerous_libraries \ | ||
| 2692 | globals.f_load_dangerous_libraries | ||
| 2693 | #define load_force_doc_strings \ | ||
| 2694 | globals.f_load_force_doc_strings | ||
| 2695 | #define load_in_progress \ | ||
| 2696 | globals.f_load_in_progress | ||
| 2697 | #define make_cursor_line_fully_visible_p \ | ||
| 2698 | globals.f_make_cursor_line_fully_visible_p | ||
| 2699 | #define max_lisp_eval_depth \ | ||
| 2700 | globals.f_max_lisp_eval_depth | ||
| 2701 | #define max_specpdl_size \ | ||
| 2702 | globals.f_max_specpdl_size | ||
| 2703 | #define menu_prompt_more_char \ | ||
| 2704 | globals.f_menu_prompt_more_char | ||
| 2705 | #define menu_prompting \ | ||
| 2706 | globals.f_menu_prompting | ||
| 2707 | #define message_truncate_lines \ | ||
| 2708 | globals.f_message_truncate_lines | ||
| 2709 | #define meta_prefix_char \ | ||
| 2710 | globals.f_meta_prefix_char | ||
| 2711 | #define minibuffer_allow_text_properties \ | ||
| 2712 | globals.f_minibuffer_allow_text_properties | ||
| 2713 | #define minibuffer_auto_raise \ | ||
| 2714 | globals.f_minibuffer_auto_raise | ||
| 2715 | #define misc_objects_consed \ | ||
| 2716 | globals.f_misc_objects_consed | ||
| 2717 | #define mode_line_in_non_selected_windows \ | ||
| 2718 | globals.f_mode_line_in_non_selected_windows | ||
| 2719 | #define mode_line_inverse_video \ | ||
| 2720 | globals.f_mode_line_inverse_video | ||
| 2721 | #define multibyte_syntax_as_symbol \ | ||
| 2722 | globals.f_multibyte_syntax_as_symbol | ||
| 2723 | #define multiple_frames \ | ||
| 2724 | globals.f_multiple_frames | ||
| 2725 | #define next_screen_context_lines \ | ||
| 2726 | globals.f_next_screen_context_lines | ||
| 2727 | #define no_redraw_on_reenter \ | ||
| 2728 | globals.f_no_redraw_on_reenter | ||
| 2729 | #define noninteractive1 \ | ||
| 2730 | globals.f_noninteractive1 | ||
| 2731 | #define num_input_keys \ | ||
| 2732 | globals.f_num_input_keys | ||
| 2733 | #define num_nonmacro_input_events \ | ||
| 2734 | globals.f_num_nonmacro_input_events | ||
| 2735 | #define open_paren_in_column_0_is_defun_start \ | ||
| 2736 | globals.f_open_paren_in_column_0_is_defun_start | ||
| 2737 | #define overline_margin \ | ||
| 2738 | globals.f_overline_margin | ||
| 2739 | #define parse_sexp_ignore_comments \ | ||
| 2740 | globals.f_parse_sexp_ignore_comments | ||
| 2741 | #define parse_sexp_lookup_properties \ | ||
| 2742 | globals.f_parse_sexp_lookup_properties | ||
| 2743 | #define polling_period \ | ||
| 2744 | globals.f_polling_period | ||
| 2745 | #define print_escape_multibyte \ | ||
| 2746 | globals.f_print_escape_multibyte | ||
| 2747 | #define print_escape_newlines \ | ||
| 2748 | globals.f_print_escape_newlines | ||
| 2749 | #define print_escape_nonascii \ | ||
| 2750 | globals.f_print_escape_nonascii | ||
| 2751 | #define print_quoted \ | ||
| 2752 | globals.f_print_quoted | ||
| 2753 | #define pure_bytes_used \ | ||
| 2754 | globals.f_pure_bytes_used | ||
| 2755 | #define read_buffer_completion_ignore_case \ | ||
| 2756 | globals.f_read_buffer_completion_ignore_case | ||
| 2757 | #define redisplay_dont_pause \ | ||
| 2758 | globals.f_redisplay_dont_pause | ||
| 2759 | #define scroll_conservatively \ | ||
| 2760 | globals.f_scroll_conservatively | ||
| 2761 | #define scroll_margin \ | ||
| 2762 | globals.f_scroll_margin | ||
| 2763 | #define string_chars_consed \ | ||
| 2764 | globals.f_string_chars_consed | ||
| 2765 | #define strings_consed \ | ||
| 2766 | globals.f_strings_consed | ||
| 2767 | #define symbols_consed \ | ||
| 2768 | globals.f_symbols_consed | ||
| 2769 | #define system_uses_terminfo \ | ||
| 2770 | globals.f_system_uses_terminfo | ||
| 2771 | #define tool_bar_button_relief \ | ||
| 2772 | globals.f_tool_bar_button_relief | ||
| 2773 | #define tool_bar_max_label_size \ | ||
| 2774 | globals.f_tool_bar_max_label_size | ||
| 2775 | #define underline_minimum_offset \ | ||
| 2776 | globals.f_underline_minimum_offset | ||
| 2777 | #define undo_inhibit_record_point \ | ||
| 2778 | globals.f_undo_inhibit_record_point | ||
| 2779 | #define undo_limit \ | ||
| 2780 | globals.f_undo_limit | ||
| 2781 | #define undo_strong_limit \ | ||
| 2782 | globals.f_undo_strong_limit | ||
| 2783 | #define unibyte_display_via_language_environment \ | ||
| 2784 | globals.f_unibyte_display_via_language_environment | ||
| 2785 | #define unread_command_char \ | ||
| 2786 | globals.f_unread_command_char | ||
| 2787 | #define use_dialog_box \ | ||
| 2788 | globals.f_use_dialog_box | ||
| 2789 | #define use_file_dialog \ | ||
| 2790 | globals.f_use_file_dialog | ||
| 2791 | #define use_system_font \ | ||
| 2792 | globals.f_use_system_font | ||
| 2793 | #define vector_cells_consed \ | ||
| 2794 | globals.f_vector_cells_consed | ||
| 2795 | #define visible_bell \ | ||
| 2796 | globals.f_visible_bell | ||
| 2797 | #define visible_cursor \ | ||
| 2798 | globals.f_visible_cursor | ||
| 2799 | #define w32_ansi_code_page \ | ||
| 2800 | globals.f_w32_ansi_code_page | ||
| 2801 | #define w32_enable_synthesized_fonts \ | ||
| 2802 | globals.f_w32_enable_synthesized_fonts | ||
| 2803 | #define w32_mouse_button_tolerance \ | ||
| 2804 | globals.f_w32_mouse_button_tolerance | ||
| 2805 | #define w32_mouse_move_interval \ | ||
| 2806 | globals.f_w32_mouse_move_interval | ||
| 2807 | #define w32_num_mouse_buttons \ | ||
| 2808 | globals.f_w32_num_mouse_buttons | ||
| 2809 | #define w32_pass_extra_mouse_buttons_to_system \ | ||
| 2810 | globals.f_w32_pass_extra_mouse_buttons_to_system | ||
| 2811 | #define w32_pass_multimedia_buttons_to_system \ | ||
| 2812 | globals.f_w32_pass_multimedia_buttons_to_system | ||
| 2813 | #define w32_pipe_read_delay \ | ||
| 2814 | globals.f_w32_pipe_read_delay | ||
| 2815 | #define w32_quit_key \ | ||
| 2816 | globals.f_w32_quit_key | ||
| 2817 | #define w32_strict_fontnames \ | ||
| 2818 | globals.f_w32_strict_fontnames | ||
| 2819 | #define w32_strict_painting \ | ||
| 2820 | globals.f_w32_strict_painting | ||
| 2821 | #define w32_use_full_screen_buffer \ | ||
| 2822 | globals.f_w32_use_full_screen_buffer | ||
| 2823 | #define w32_use_visible_system_caret \ | ||
| 2824 | globals.f_w32_use_visible_system_caret | ||
| 2825 | #define window_min_height \ | ||
| 2826 | globals.f_window_min_height | ||
| 2827 | #define window_min_width \ | ||
| 2828 | globals.f_window_min_width | ||
| 2829 | #define words_include_escapes \ | ||
| 2830 | globals.f_words_include_escapes | ||
| 2831 | #define write_region_inhibit_fsync \ | ||
| 2832 | globals.f_write_region_inhibit_fsync | ||
| 2833 | #define x_gtk_file_dialog_help_text \ | ||
| 2834 | globals.f_x_gtk_file_dialog_help_text | ||
| 2835 | #define x_gtk_show_hidden_files \ | ||
| 2836 | globals.f_x_gtk_show_hidden_files | ||
| 2837 | #define x_gtk_use_old_file_dialog \ | ||
| 2838 | globals.f_x_gtk_use_old_file_dialog | ||
| 2839 | #define x_gtk_use_system_tooltips \ | ||
| 2840 | globals.f_x_gtk_use_system_tooltips | ||
| 2841 | #define x_gtk_whole_detached_tool_bar \ | ||
| 2842 | globals.f_x_gtk_whole_detached_tool_bar | ||
| 2843 | #define x_mouse_click_focus_ignore_position \ | ||
| 2844 | globals.f_x_mouse_click_focus_ignore_position | ||
| 2845 | #define x_selection_timeout \ | ||
| 2846 | globals.f_x_selection_timeout | ||
| 2847 | #define x_stretch_cursor_p \ | ||
| 2848 | globals.f_x_stretch_cursor_p | ||
| 2849 | #define x_underline_at_descent_line \ | ||
| 2850 | globals.f_x_underline_at_descent_line | ||
| 2851 | #define x_use_underline_position_properties \ | ||
| 2852 | globals.f_x_use_underline_position_properties | ||
| 2853 | #define ns_input_file \ | ||
| 2854 | globals.f_ns_input_file | ||
| 2855 | #define ns_input_font \ | ||
| 2856 | globals.f_ns_input_font | ||
| 2857 | #define ns_input_fontsize \ | ||
| 2858 | globals.f_ns_input_fontsize | ||
| 2859 | #define ns_input_line \ | ||
| 2860 | globals.f_ns_input_line | ||
| 2861 | #define ns_input_color \ | ||
| 2862 | globals.f_ns_input_color | ||
| 2863 | #define ns_input_text \ | ||
| 2864 | globals.f_ns_input_text | ||
| 2865 | #define ns_working_text \ | ||
| 2866 | globals.f_ns_working_text | ||
| 2867 | #define ns_input_spi_name \ | ||
| 2868 | globals.f_ns_input_spi_name | ||
| 2869 | #define ns_input_spi_arg \ | ||
| 2870 | globals.f_ns_input_spi_arg | ||
| 2871 | #define ns_alternate_modifier \ | ||
| 2872 | globals.f_ns_alternate_modifier | ||
| 2873 | #define ns_right_alternate_modifier \ | ||
| 2874 | globals.f_ns_right_alternate_modifier | ||
| 2875 | #define ns_command_modifier \ | ||
| 2876 | globals.f_ns_command_modifier | ||
| 2877 | #define ns_right_command_modifier \ | ||
| 2878 | globals.f_ns_right_command_modifier | ||
| 2879 | #define ns_control_modifier \ | ||
| 2880 | globals.f_ns_control_modifier | ||
| 2881 | #define ns_right_control_modifier \ | ||
| 2882 | globals.f_ns_right_control_modifier | ||
| 2883 | #define ns_function_modifier \ | ||
| 2884 | globals.f_ns_function_modifier | ||
| 2885 | #define ns_antialias_text \ | ||
| 2886 | globals.f_ns_antialias_text | ||
| 2887 | #define ns_confirm_quit \ | ||
| 2888 | globals.f_ns_confirm_quit | ||
| 2889 | #define Vns_icon_type_alist \ | ||
| 2890 | globals.f_Vns_icon_type_alist | ||
| 2891 | #define Vns_version_string \ | ||
| 2892 | globals.f_Vns_version_string | ||
| 2893 | #define Vns_sent_selection_hooks \ | ||
| 2894 | globals.f_Vns_sent_selection_hooks | ||
| 2895 | #define Vns_lost_selection_hooks \ | ||
| 2896 | globals.f_Vns_lost_selection_hooks | ||
| 2897 | #define Vselection_alist \ | ||
| 2898 | globals.f_Vselection_alist | ||
| 2899 | #define Vns_reg_to_script \ | ||
| 2900 | globals.f_Vns_reg_to_script | ||
diff --git a/src/makefile.w32-in b/src/makefile.w32-in index 54a30f28ff2..ce4b9f35de8 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in | |||
| @@ -203,6 +203,38 @@ make-buildobj-SH: | |||
| 203 | echo $(OBJ2) '\' >> buildobj.h | 203 | echo $(OBJ2) '\' >> buildobj.h |
| 204 | echo '$(DQUOTE)' >> buildobj.h | 204 | echo '$(DQUOTE)' >> buildobj.h |
| 205 | 205 | ||
| 206 | GLOBAL_SOURCES = dosfns.c msdos.c \ | ||
| 207 | xterm.c xfns.c xmenu.c xselect.c xrdb.c xsmfns.c fringe.c image.c \ | ||
| 208 | fontset.c menu.c dbusbind.c \ | ||
| 209 | w32.c w32console.c w32fns.c w32heap.c w32inevt.c \ | ||
| 210 | w32menu.c w32proc.c w32reg.c w32select.c w32term.c w32xfns.c \ | ||
| 211 | font.c w32font.c w32uniscribe.c \ | ||
| 212 | dispnew.c frame.c scroll.c xdisp.c window.c bidi.c \ | ||
| 213 | charset.c coding.c category.c ccl.c character.c chartab.c \ | ||
| 214 | cm.c term.c terminal.c xfaces.c \ | ||
| 215 | emacs.c keyboard.c macros.c keymap.c sysdep.c \ | ||
| 216 | buffer.c filelock.c insdel.c marker.c \ | ||
| 217 | minibuf.c fileio.c dired.c filemode.c \ | ||
| 218 | cmds.c casetab.c casefiddle.c indent.c search.c regex.c undo.c \ | ||
| 219 | alloc.c data.c doc.c editfns.c callint.c \ | ||
| 220 | eval.c floatfns.c fns.c print.c lread.c \ | ||
| 221 | syntax.c bytecode.c \ | ||
| 222 | process.c callproc.c unexw32.c \ | ||
| 223 | region-cache.c sound.c atimer.c \ | ||
| 224 | doprnt.c intervals.c textprop.c composite.c md5.c | ||
| 225 | SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ | ||
| 226 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o dbusbind.o | ||
| 227 | obj = $(GLOBAL_SOURCES:.c=.o) | ||
| 228 | |||
| 229 | globals.h: gl-stamp | ||
| 230 | |||
| 231 | gl-stamp: ../lib-src/$(BLD)/make-docfile.exe $(GLOBAL_SOURCES) | ||
| 232 | - $(DEL) gl-tmp | ||
| 233 | "../lib-src/$(BLD)/make-docfile" -d . -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp | ||
| 234 | cmd /c "fc /b gl-tmp globals.h >nul 2>&1 || $(CP) gl-tmp globals.h" | ||
| 235 | - $(DEL) gl-tmp | ||
| 236 | echo timestamp > $@ | ||
| 237 | |||
| 206 | bootstrap: bootstrap-emacs | 238 | bootstrap: bootstrap-emacs |
| 207 | 239 | ||
| 208 | # | 240 | # |
| @@ -279,7 +311,7 @@ clean: | |||
| 279 | - $(DEL) "s/*.h~" "m/*.h~" | 311 | - $(DEL) "s/*.h~" "m/*.h~" |
| 280 | - $(DEL) $(COMPILER_TEMP_FILES) | 312 | - $(DEL) $(COMPILER_TEMP_FILES) |
| 281 | - $(DEL_TREE) $(OBJDIR) | 313 | - $(DEL_TREE) $(OBJDIR) |
| 282 | - $(DEL) stamp_BLD | 314 | - $(DEL) stamp_BLD gl-stamp globals.h |
| 283 | - $(DEL) buildobj.h | 315 | - $(DEL) buildobj.h |
| 284 | 316 | ||
| 285 | distclean: cleanall | 317 | distclean: cleanall |
diff --git a/src/nsselect.m b/src/nsselect.m index 299a24e4a8c..950fb1f1f14 100644 --- a/src/nsselect.m +++ b/src/nsselect.m | |||
| @@ -39,6 +39,8 @@ GNUstep port and post-20 update by Adrian Robert (arobert@cogsci.ucsd.edu) | |||
| 39 | 39 | ||
| 40 | Lisp_Object QCLIPBOARD, QSECONDARY, QTEXT, QFILE_NAME; | 40 | Lisp_Object QCLIPBOARD, QSECONDARY, QTEXT, QFILE_NAME; |
| 41 | 41 | ||
| 42 | static Lisp_Object Vselection_alist; | ||
| 43 | |||
| 42 | static Lisp_Object Qforeign_selection; | 44 | static Lisp_Object Qforeign_selection; |
| 43 | 45 | ||
| 44 | /* NSGeneralPboard is pretty much analogous to X11 CLIPBOARD */ | 46 | /* NSGeneralPboard is pretty much analogous to X11 CLIPBOARD */ |
diff --git a/src/xselect.c b/src/xselect.c index 96c8b9c4c47..a502a74f904 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -126,6 +126,20 @@ static Lisp_Object Qforeign_selection; | |||
| 126 | /* Defined in keyboard.c. */ | 126 | /* Defined in keyboard.c. */ |
| 127 | extern unsigned long last_event_timestamp; | 127 | extern unsigned long last_event_timestamp; |
| 128 | 128 | ||
| 129 | /* This is an association list whose elements are of the form | ||
| 130 | ( SELECTION-NAME SELECTION-VALUE SELECTION-TIMESTAMP FRAME) | ||
| 131 | SELECTION-NAME is a lisp symbol, whose name is the name of an X Atom. | ||
| 132 | SELECTION-VALUE is the value that emacs owns for that selection. | ||
| 133 | It may be any kind of Lisp object. | ||
| 134 | SELECTION-TIMESTAMP is the time at which emacs began owning this selection, | ||
| 135 | as a cons of two 16-bit numbers (making a 32 bit time.) | ||
| 136 | FRAME is the frame for which we made the selection. | ||
| 137 | If there is an entry in this alist, then it can be assumed that Emacs owns | ||
| 138 | that selection. | ||
| 139 | The only (eq) parts of this list that are visible from Lisp are the | ||
| 140 | selection-values. */ | ||
| 141 | static Lisp_Object Vselection_alist; | ||
| 142 | |||
| 129 | 143 | ||
| 130 | 144 | ||
| 131 | /* Define a queue to save up SELECTION_REQUEST_EVENT events for later | 145 | /* Define a queue to save up SELECTION_REQUEST_EVENT events for later |
diff --git a/test/ChangeLog b/test/ChangeLog index f555878cb49..3f2dbec1e55 100644 --- a/test/ChangeLog +++ b/test/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-02-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * indent/shell.sh: | ||
| 4 | * indent/shell.rc: New files. | ||
| 5 | |||
| 1 | 2011-01-27 Chong Yidong <cyd@stupidchicken.com> | 6 | 2011-01-27 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 7 | ||
| 3 | * automated/font-parse-tests.el: Move from | 8 | * automated/font-parse-tests.el: Move from |
diff --git a/test/indent/shell.rc b/test/indent/shell.rc new file mode 100755 index 00000000000..841223555b9 --- /dev/null +++ b/test/indent/shell.rc | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | #!/bin/rc | ||
| 2 | |||
| 3 | if (foo) { | ||
| 4 | echo 1 | ||
| 5 | } | ||
| 6 | if not { | ||
| 7 | echo 2 | ||
| 8 | } | ||
| 9 | |||
| 10 | if (foo) | ||
| 11 | echo 3 # KNOWN INDENT BUG | ||
| 12 | if not | ||
| 13 | echo 4 # KNOWN INDENT BUG | ||
| 14 | |||
| 15 | switch ($a) { | ||
| 16 | case 3 | ||
| 17 | echo 4 | ||
| 18 | case 5 | ||
| 19 | echo 7 | ||
| 20 | for (i in a b c) { | ||
| 21 | echo $i | ||
| 22 | } | ||
| 23 | for (i in a b c) | ||
| 24 | echo "$i" # KNOWN INDENT BUG | ||
| 25 | echo titi | ||
| 26 | |||
| 27 | case * | ||
| 28 | echo other | ||
| 29 | } | ||
| 30 | |||
diff --git a/test/indent/shell.sh b/test/indent/shell.sh new file mode 100755 index 00000000000..89f47d0bfe3 --- /dev/null +++ b/test/indent/shell.sh | |||
| @@ -0,0 +1,98 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | setlock -n /tmp/getmail.lock && echo getmail isn\'t running | ||
| 4 | |||
| 5 | # adsgsdg | ||
| 6 | |||
| 7 | foo () { | ||
| 8 | |||
| 9 | bar () { | ||
| 10 | blilbi | ||
| 11 | } | ||
| 12 | |||
| 13 | case toto | ||
| 14 | in a) hello # KNOWN INDENT BUG | ||
| 15 | ;; b) hi # KNOWN INDENT BUG | ||
| 16 | esac | ||
| 17 | |||
| 18 | case $toto in | ||
| 19 | a) echo 1;; b) echo 2;; | ||
| 20 | c) echo 3;; | ||
| 21 | esac | ||
| 22 | |||
| 23 | case $as_nl`(ac_space=' '; set) 2>&1` in #( | ||
| 24 | *${as_nl}ac_space=\ *) | ||
| 25 | # `set' does not quote correctly, so add quotes: double-quote | ||
| 26 | # substitution turns \\\\ into \\, and sed turns \\ into \. | ||
| 27 | sed -n \ | ||
| 28 | "s/'/'\\\\''/g; | ||
| 29 | s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=/\\1=''/p" | ||
| 30 | ;; #( | ||
| 31 | *) | ||
| 32 | # `set' quotes correctly as required by POSIX, so do not add | ||
| 33 | # quotes. | ||
| 34 | sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" | ||
| 35 | ;; | ||
| 36 | esac | | ||
| 37 | cat # KNOWN INDENT BUG | ||
| 38 | |||
| 39 | case toto in | ||
| 40 | -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | ||
| 41 | | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* \ | ||
| 42 | | --exec=* | --exe=* | --ex=*) | ||
| 43 | exec_prefix=$ac_optarg ;; | ||
| 44 | 5) | ||
| 45 | hello ;; | ||
| 46 | 3) hello $(adfad) | ||
| 47 | echo esac ;; # KNOWN INDENT BUG | ||
| 48 | 5) hello ;; | ||
| 49 | 4) hello ;& | ||
| 50 | 4) hello ;;& | ||
| 51 | 5) hello ;; | ||
| 52 | 5) hello ;; | ||
| 53 | esac | ||
| 54 | |||
| 55 | echo "'" wfgfe | ||
| 56 | |||
| 57 | #!/bin/bash | ||
| 58 | cat << EOF \ | ||
| 59 | | cat sadfsafd \ | ||
| 60 | sadfsafd "KNOWN INDENT BUG" \ | ||
| 61 | | tee -a bug.txt | ||
| 62 | asdfsaf | ||
| 63 | This is a test case for a bug in bash shell mode text highlighting | ||
| 64 | EOF | ||
| 65 | |||
| 66 | cat <<EOF1 <<EOF2 # KNOWN INDENT BUG | ||
| 67 | help1 | ||
| 68 | EOF1 | ||
| 69 | help2 | ||
| 70 | EOF2 | ||
| 71 | } | ||
| 72 | bar () { | ||
| 73 | if [ $# == 0 ]; then | ||
| 74 | while | ||
| 75 | f # KNOWN INDENT BUG | ||
| 76 | do | ||
| 77 | bla; | ||
| 78 | done | ||
| 79 | echo "Highlighting is screwed up now" | ||
| 80 | if [ 1 = 1 ]; then | ||
| 81 | # adsgsdg | ||
| 82 | echo "screwed up" | ||
| 83 | fi | ||
| 84 | |||
| 85 | $@ $? $# | ||
| 86 | |||
| 87 | for f in * | ||
| 88 | do | ||
| 89 | sdfg | ||
| 90 | done | ||
| 91 | |||
| 92 | if swrgfef | ||
| 93 | then blas | ||
| 94 | else sdf | ||
| 95 | fi | ||
| 96 | |||
| 97 | fi | ||
| 98 | } | ||