annotate lisp/lisp.el @ 4981:4aebb0131297

Cleanups/renaming of EXTERNAL_TO_C_STRING and friends -------------------- ChangeLog entries follow: -------------------- modules/ChangeLog addition: 2010-02-05 Ben Wing <ben@xemacs.org> * postgresql/postgresql.c: * postgresql/postgresql.c (CHECK_LIVE_CONNECTION): * postgresql/postgresql.c (Fpq_connectdb): * postgresql/postgresql.c (Fpq_connect_start): * postgresql/postgresql.c (Fpq_lo_import): * postgresql/postgresql.c (Fpq_lo_export): * ldap/eldap.c (Fldap_open): * ldap/eldap.c (Fldap_search_basic): * ldap/eldap.c (Fldap_add): * ldap/eldap.c (Fldap_modify): * ldap/eldap.c (Fldap_delete): * canna/canna_api.c (Fcanna_initialize): * canna/canna_api.c (Fcanna_store_yomi): * canna/canna_api.c (Fcanna_parse): * canna/canna_api.c (Fcanna_henkan_begin): EXTERNAL_TO_C_STRING returns its argument instead of storing it in a parameter, and is renamed to EXTERNAL_TO_ITEXT. Similar things happen to related macros. See entry in src/ChangeLog. More Mule-izing of postgresql.c. Extract out common code between `pq-connectdb' and `pq-connect-start'. Fix places that signal an error string using a formatted string to instead follow the standard and have a fixed reason followed by the particular error message stored as one of the frobs. src/ChangeLog addition: 2010-02-05 Ben Wing <ben@xemacs.org> * console-msw.c (write_string_to_mswindows_debugging_output): * console-msw.c (Fmswindows_message_box): * console-x.c (x_perhaps_init_unseen_key_defaults): * console.c: * database.c (dbm_get): * database.c (dbm_put): * database.c (dbm_remove): * database.c (berkdb_get): * database.c (berkdb_put): * database.c (berkdb_remove): * database.c (Fopen_database): * device-gtk.c (gtk_init_device): * device-msw.c (msprinter_init_device_internal): * device-msw.c (msprinter_default_printer): * device-msw.c (msprinter_init_device): * device-msw.c (sync_printer_with_devmode): * device-msw.c (Fmsprinter_select_settings): * device-x.c (sanity_check_geometry_resource): * device-x.c (Dynarr_add_validified_lisp_string): * device-x.c (x_init_device): * device-x.c (Fx_put_resource): * device-x.c (Fx_valid_keysym_name_p): * device-x.c (Fx_set_font_path): * dialog-msw.c (push_lisp_string_as_unicode): * dialog-msw.c (handle_directory_dialog_box): * dialog-msw.c (handle_file_dialog_box): * dialog-x.c (dbox_descriptor_to_widget_value): * editfns.c (Fformat_time_string): * editfns.c (Fencode_time): * editfns.c (Fset_time_zone_rule): * emacs.c (make_argc_argv): * emacs.c (Fdump_emacs): * emodules.c (emodules_load): * eval.c: * eval.c (maybe_signal_error_1): * event-msw.c (Fdde_alloc_advise_item): * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_wnd_proc): * fileio.c (report_error_with_errno): * fileio.c (Fsysnetunam): * fileio.c (Fdo_auto_save): * font-mgr.c (extract_fcapi_string): * font-mgr.c (Ffc_config_app_font_add_file): * font-mgr.c (Ffc_config_app_font_add_dir): * font-mgr.c (Ffc_config_filename): * frame-gtk.c (gtk_set_frame_text_value): * frame-gtk.c (gtk_create_widgets): * frame-msw.c (mswindows_init_frame_1): * frame-msw.c (mswindows_set_title_from_ibyte): * frame-msw.c (msprinter_init_frame_3): * frame-x.c (x_set_frame_text_value): * frame-x.c (x_set_frame_properties): * frame-x.c (start_drag_internal_1): * frame-x.c (x_cde_transfer_callback): * frame-x.c (x_create_widgets): * glyphs-eimage.c (my_jpeg_output_message): * glyphs-eimage.c (jpeg_instantiate): * glyphs-eimage.c (gif_instantiate): * glyphs-eimage.c (png_instantiate): * glyphs-eimage.c (tiff_instantiate): * glyphs-gtk.c (xbm_instantiate_1): * glyphs-gtk.c (gtk_xbm_instantiate): * glyphs-gtk.c (gtk_xpm_instantiate): * glyphs-gtk.c (gtk_xface_instantiate): * glyphs-gtk.c (cursor_font_instantiate): * glyphs-gtk.c (gtk_redisplay_widget): * glyphs-gtk.c (gtk_widget_instantiate_1): * glyphs-gtk.c (gtk_add_tab_item): * glyphs-msw.c (mswindows_xpm_instantiate): * glyphs-msw.c (bmp_instantiate): * glyphs-msw.c (mswindows_resource_instantiate): * glyphs-msw.c (xbm_instantiate_1): * glyphs-msw.c (mswindows_xbm_instantiate): * glyphs-msw.c (mswindows_xface_instantiate): * glyphs-msw.c (mswindows_redisplay_widget): * glyphs-msw.c (mswindows_widget_instantiate): * glyphs-msw.c (add_tree_item): * glyphs-msw.c (add_tab_item): * glyphs-msw.c (mswindows_combo_box_instantiate): * glyphs-msw.c (mswindows_widget_query_string_geometry): * glyphs-x.c (x_locate_pixmap_file): * glyphs-x.c (xbm_instantiate_1): * glyphs-x.c (x_xbm_instantiate): * glyphs-x.c (extract_xpm_color_names): * glyphs-x.c (x_xpm_instantiate): * glyphs-x.c (x_xface_instantiate): * glyphs-x.c (autodetect_instantiate): * glyphs-x.c (safe_XLoadFont): * glyphs-x.c (cursor_font_instantiate): * glyphs-x.c (x_redisplay_widget): * glyphs-x.c (Fchange_subwindow_property): * glyphs-x.c (x_widget_instantiate): * glyphs-x.c (x_tab_control_redisplay): * glyphs.c (pixmap_to_lisp_data): * gui-x.c (menu_separator_style_and_to_external): * gui-x.c (add_accel_and_to_external): * gui-x.c (button_item_to_widget_value): * hpplay.c (player_error_internal): * hpplay.c (play_sound_file): * hpplay.c (play_sound_data): * intl.c (Fset_current_locale): * lisp.h: * menubar-gtk.c (gtk_xemacs_set_accel_keys): * menubar-msw.c (populate_menu_add_item): * menubar-msw.c (populate_or_checksum_helper): * menubar-x.c (menu_item_descriptor_to_widget_value_1): * nt.c (init_user_info): * nt.c (get_long_basename): * nt.c (nt_get_resource): * nt.c (init_mswindows_environment): * nt.c (get_cached_volume_information): * nt.c (mswindows_readdir): * nt.c (read_unc_volume): * nt.c (mswindows_stat): * nt.c (mswindows_getdcwd): * nt.c (mswindows_executable_type): * nt.c (Fmswindows_short_file_name): * ntplay.c (nt_play_sound_file): * objects-gtk.c: * objects-gtk.c (gtk_valid_color_name_p): * objects-gtk.c (gtk_initialize_font_instance): * objects-gtk.c (gtk_font_list): * objects-msw.c (font_enum_callback_2): * objects-msw.c (parse_font_spec): * objects-x.c (x_parse_nearest_color): * objects-x.c (x_valid_color_name_p): * objects-x.c (x_initialize_font_instance): * objects-x.c (x_font_instance_truename): * objects-x.c (x_font_list): * objects-xlike-inc.c (XFUN): * objects-xlike-inc.c (xft_find_charset_font): * process-nt.c (mswindows_report_winsock_error): * process-nt.c (nt_create_process): * process-nt.c (get_internet_address): * process-nt.c (nt_open_network_stream): * process-unix.c: * process-unix.c (allocate_pty): * process-unix.c (get_internet_address): * process-unix.c (unix_canonicalize_host_name): * process-unix.c (unix_open_network_stream): * realpath.c: * select-common.h (lisp_data_to_selection_data): * select-gtk.c (symbol_to_gtk_atom): * select-gtk.c (atom_to_symbol): * select-msw.c (symbol_to_ms_cf): * select-msw.c (mswindows_register_selection_data_type): * select-x.c (symbol_to_x_atom): * select-x.c (x_atom_to_symbol): * select-x.c (hack_motif_clipboard_selection): * select-x.c (Fx_store_cutbuffer_internal): * sound.c (Fplay_sound_file): * sound.c (Fplay_sound): * sound.h (sound_perror): * sysdep.c: * sysdep.c (qxe_allocating_getcwd): * sysdep.c (qxe_execve): * sysdep.c (copy_in_passwd): * sysdep.c (qxe_getpwnam): * sysdep.c (qxe_ctime): * sysdll.c (dll_open): * sysdll.c (dll_function): * sysdll.c (dll_variable): * sysdll.c (search_linked_libs): * sysdll.c (dll_error): * sysfile.h: * sysfile.h (PATHNAME_CONVERT_OUT_TSTR): * sysfile.h (PATHNAME_CONVERT_OUT_UTF_8): * sysfile.h (PATHNAME_CONVERT_OUT): * sysfile.h (LISP_PATHNAME_CONVERT_OUT): * syswindows.h (ITEXT_TO_TSTR): * syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR): * syswindows.h (TSTR_TO_LOCAL_FILE_FORMAT): * syswindows.h (LOCAL_FILE_FORMAT_TO_INTERNAL_MSWIN): * syswindows.h (LISP_LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR): * text.h: * text.h (eicpy_ext_len): * text.h (enum new_dfc_src_type): * text.h (EXTERNAL_TO_ITEXT): * text.h (GET_STRERROR): * tooltalk.c (check_status): * tooltalk.c (Fadd_tooltalk_message_arg): * tooltalk.c (Fadd_tooltalk_pattern_attribute): * tooltalk.c (Fadd_tooltalk_pattern_arg): * win32.c (tstr_to_local_file_format): * win32.c (mswindows_lisp_error_1): * win32.c (mswindows_report_process_error): * win32.c (Fmswindows_shell_execute): * win32.c (mswindows_read_link_1): Changes involving external/internal format conversion, mostly code cleanup and renaming. 1. Eliminate the previous macros like LISP_STRING_TO_EXTERNAL that stored its result in a parameter. The new version of LISP_STRING_TO_EXTERNAL returns its result through the return value, same as the previous NEW_LISP_STRING_TO_EXTERNAL. Use the new-style macros throughout the code. 2. Rename C_STRING_TO_EXTERNAL and friends to ITEXT_TO_EXTERNAL, in keeping with overall naming rationalization involving Itext and related types. Macros involved in previous two: EXTERNAL_TO_C_STRING -> EXTERNAL_TO_ITEXT EXTERNAL_TO_C_STRING_MALLOC -> EXTERNAL_TO_ITEXT_MALLOC SIZED_EXTERNAL_TO_C_STRING -> SIZED_EXTERNAL_TO_ITEXT SIZED_EXTERNAL_TO_C_STRING_MALLOC -> SIZED_EXTERNAL_TO_ITEXT_MALLOC C_STRING_TO_EXTERNAL -> ITEXT_TO_EXTERNAL C_STRING_TO_EXTERNAL_MALLOC -> ITEXT_TO_EXTERNAL_MALLOC LISP_STRING_TO_EXTERNAL LISP_STRING_TO_EXTERNAL_MALLOC LISP_STRING_TO_TSTR C_STRING_TO_TSTR -> ITEXT_TO_TSTR TSTR_TO_C_STRING -> TSTR_TO_ITEXT The following four still return their values through parameters, since they have more than one value to return: C_STRING_TO_SIZED_EXTERNAL -> ITEXT_TO_SIZED_EXTERNAL LISP_STRING_TO_SIZED_EXTERNAL C_STRING_TO_SIZED_EXTERNAL_MALLOC -> ITEXT_TO_SIZED_EXTERNAL_MALLOC LISP_STRING_TO_SIZED_EXTERNAL_MALLOC Sometimes additional casts had to be inserted, since the old macros played strange games and completely defeated the type system of the store params. 3. Rewrite many places where direct calls to TO_EXTERNAL_FORMAT occurred with calls to one of the convenience macros listed above, or to make_extstring(). 4. Eliminate SIZED_C_STRING macros (they were hardly used, anyway) and use a direct call to TO_EXTERNAL_FORMAT or TO_INTERNAL_FORMAT. 4. Use LISP_PATHNAME_CONVERT_OUT in many places instead of something like LISP_STRING_TO_EXTERNAL(..., Qfile_name). 5. Eliminate some temporary variables that are no longer necessary now that we return a value rather than storing it into a variable. 6. Some Mule-izing in database.c. 7. Error functions: -- A bit of code cleanup in maybe_signal_error_1. -- Eliminate report_file_type_error; it's just an alias for signal_error_2 with params in a different order. -- Fix some places in the hostname-handling code that directly inserted externally-retrieved error strings into the supposed ASCII "reason" param instead of doing the right thing and sticking text descriptive of what was going on in "reason" and putting the external message in a frob. 8. Use Ascbyte instead of CIbyte in process-unix.c and maybe one or two other places. 9. Some code cleanup in copy_in_passwd() in sysdep.c. 10. Fix a real bug due to accidental variable shadowing in tstr_to_local_file_format() in win32.c.
author Ben Wing <ben@xemacs.org>
date Fri, 05 Feb 2010 11:02:24 -0600
parents 4bbda1c11a7b
children 308d34e9f07d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 ;;; lisp.el --- Lisp editing commands for XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 ;; Copyright (C) 1985, 1986, 1994, 1997 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 ;; Maintainer: FSF
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 ;; Keywords: lisp, languages, dumped
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 ;; This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 ;; XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 ;; under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 ;; any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 ;; XEmacs is distributed in the hope that it will be useful, but
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 ;; General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 ;; along with XEmacs; see the file COPYING. If not, write to the Free
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 ;; 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 ;;; Synched up with: Emacs/Mule zeta.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 ;;; Commentary:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 ;; This file is dumped with XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 ;; Lisp editing commands to go with Lisp major mode.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 ;; 06/11/1997 - Use char-(after|before) instead of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 ;; (following|preceding)-char. -slb
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 ;;; Code:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 ;; Note that this variable is used by non-lisp modes too.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 (defcustom defun-prompt-regexp nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 "*Non-nil => regexp to ignore, before the character that starts a defun.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 This is only necessary if the opening paren or brace is not in column 0.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 See `beginning-of-defun'."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 :type '(choice (const :tag "none" nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 regexp)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 :group 'lisp)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 (make-variable-buffer-local 'defun-prompt-regexp)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 (defcustom parens-require-spaces t
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 "Non-nil => `insert-parentheses' should insert whitespace as needed."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 :type 'boolean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 :group 'editing-basics
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 :group 'lisp)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
55 (defun forward-sexp (&optional count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 "Move forward across one balanced expression (sexp).
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
57 With non-nil COUNT, do it that many times. Negative COUNT means
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
58 move backward across -COUNT balanced expressions."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 ;; XEmacs change (for zmacs regions)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 (interactive "_p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
61 (or count (setq count 1))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 ;; XEmacs: evil hack! The other half of the evil hack below.
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
63 (if (and (> count 0) (looking-at "#s(\\|#r[uU]\\{0,1\\}\""))
3543
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
64 (goto-char (1+ (- (point) (- (match-end 0) (match-beginning 0))))))
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
65 (goto-char (or (scan-sexps (point) count) (buffer-end count)))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
66 (when (< count 0)
3543
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
67 (backward-prefix-chars)
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
68 ;; XEmacs: evil hack! Skip back over #[sr] so that structures and raw
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
69 ;; strings are read properly. the current cheesified syntax tables just
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
70 ;; aren't up to this.
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
71 (let* ((diff (- (point) (point-min)))
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
72 (subject (buffer-substring (- (point) (min diff 3))
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
73 (1+ (point))))
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
74 (matched (string-match "#s(\\|#r[uU]\\{0,1\\}\"" subject)))
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
75 (if matched
c136144fe765 [xemacs-hg @ 2006-08-04 22:55:04 by aidan]
aidan
parents: 446
diff changeset
76 (goto-char (1+ (- (point) (- (length subject) matched))))))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
78 (defun backward-sexp (&optional count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 "Move backward across one balanced expression (sexp).
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
80 With non-nil COUNT, do it that many times. Negative COUNT means
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
81 move forward across -COUNT balanced expressions."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 ;; XEmacs change (for zmacs regions)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 (interactive "_p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
84 (forward-sexp (- (or count 1))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
86 (defun mark-sexp (&optional count)
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
87 "Set mark COUNT sexps from point.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 The place mark goes is the same place \\[forward-sexp] would
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 move to with the same argument.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 Repeat this command to mark more sexps in the same direction."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 (interactive "p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
92 (mark-something 'mark-sexp 'forward-sexp (or count 1)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
94 (defun forward-list (&optional count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 "Move forward across one balanced group of parentheses.
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
96 With non-nil COUNT, do it that many times.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
97 Negative COUNT means move backward across -COUNT groups of parentheses."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 ;; XEmacs change
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 (interactive "_p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
100 (goto-char (or (scan-lists (point) (or count 1) 0)
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
101 (buffer-end (or count 1)))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
103 (defun backward-list (&optional count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 "Move backward across one balanced group of parentheses.
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
105 With non-nil COUNT, do it that many times.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
106 Negative COUNT means move forward across -COUNT groups of parentheses."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 ;; XEmacs change (for zmacs regions)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 (interactive "_p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
109 (forward-list (- (or count 1))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
111 (defun down-list (&optional count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 "Move forward down one level of parentheses.
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
113 With non-nil COUNT, do this that many times.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
114 A negative COUNT means move backward but still go down a level."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 ;; XEmacs change (for zmacs regions)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 (interactive "_p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
117 (or count (setq count 1))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
118 (let ((inc (if (> count 0) 1 -1)))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
119 (while (/= count 0)
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
120 (goto-char (or (scan-lists (point) inc -1) (buffer-end count)))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
121 (setq count (- count inc)))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
123 (defun backward-up-list (&optional count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 "Move backward out of one level of parentheses.
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
125 With COUNT, do this that many times.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
126 A negative COUNT means move forward but still to a less deep spot."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 (interactive "_p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
128 (up-list (- (or count 1))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
130 (defun up-list (&optional count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 "Move forward out of one level of parentheses.
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
132 With non-nil COUNT, do this that many times.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
133 A negative COUNT means move backward but still to a less deep spot.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 In Lisp programs, an argument is required."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 ;; XEmacs change (for zmacs regions)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 (interactive "_p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
137 (or count (setq count 1))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
138 (let ((inc (if (> count 0) 1 -1)))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
139 (while (/= count 0)
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
140 (goto-char (or (scan-lists (point) inc 1) (buffer-end count)))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
141 (setq count (- count inc)))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
143 (defun kill-sexp (&optional count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 "Kill the sexp (balanced expression) following the cursor.
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
145 With non-nil COUNT, kill that many sexps after the cursor.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
146 Negative COUNT means kill -COUNT sexps before the cursor."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 (interactive "p")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 (let ((opoint (point)))
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
149 (forward-sexp (or count 1))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 (kill-region opoint (point))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
152 (defun backward-kill-sexp (&optional count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 "Kill the sexp (balanced expression) preceding the cursor.
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
154 With non-nil COUNT, kill that many sexps before the cursor.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
155 Negative COUNT means kill -COUNT sexps after the cursor."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 (interactive "p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
157 (kill-sexp (- (or count 1))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158
4696
ecc468b62551 funcall beginning-of-defun-function arg
andreas.roehler@online.de
parents: 3543
diff changeset
159
ecc468b62551 funcall beginning-of-defun-function arg
andreas.roehler@online.de
parents: 3543
diff changeset
160 ;; derived stuff from GNU Emacs
ecc468b62551 funcall beginning-of-defun-function arg
andreas.roehler@online.de
parents: 3543
diff changeset
161 (defvar beginning-of-defun-function nil
4724
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
162 "If non-nil, this function will be called by `beginning-of-defun-raw'.
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
163 It will be called with one argument, which is a repetition count.
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
164 It provides an alternative algorithm to find the beginning of the current
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
165 defun instead of using the standard one implemented by `beginning-of-defun'.
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
166 See also `defun-prompt-regexp' for minor tweaks.")
4712
a46d7513a364 `beginning-of-defun-function', `end-of-defun-function'
Andreas Roehler <andreas.roehler@online.de>
parents: 4705
diff changeset
167 (make-variable-buffer-local 'beginning-of-defun-function)
4696
ecc468b62551 funcall beginning-of-defun-function arg
andreas.roehler@online.de
parents: 3543
diff changeset
168
ecc468b62551 funcall beginning-of-defun-function arg
andreas.roehler@online.de
parents: 3543
diff changeset
169 (defvar end-of-defun-function nil
4724
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
170 "If non-nil, this function will be called by `end-of-defun'.
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
171 It will be called with no arguments. \(Repetition is implemented in
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
172 `end-of-defun' by calling this function that many times.)
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
173 This function provides an alternative algorithm to find the end
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
174 of the current defun instead of using the standard one implemented by
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
175 `end-of-defun'.
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
176 ")
4712
a46d7513a364 `beginning-of-defun-function', `end-of-defun-function'
Andreas Roehler <andreas.roehler@online.de>
parents: 4705
diff changeset
177 (make-variable-buffer-local 'end-of-defun-function)
4696
ecc468b62551 funcall beginning-of-defun-function arg
andreas.roehler@online.de
parents: 3543
diff changeset
178
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
179 (defun beginning-of-defun (&optional count)
4724
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
180 "Move backward to the beginning of the current defun.
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
181 With COUNT, do it that many times. Negative COUNT
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
182 means move forward to -COUNTth following beginning of defun.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 Returns t unless search stops due to beginning or end of buffer.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184
4724
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
185 In the default implementation provided by `beginning-of-defun-raw',
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
186 a defun starts at a char with open-parenthesis syntax at the beginning
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
187 of a line. If `defun-prompt-regexp' is non-nil, then a string which
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
188 matches that regexp may precede the open-parenthesis. Alternatively,
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
189 if `beginning-of-defun-function' is non-nil, that function is called,
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
190 and none of the default processing is done.
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
191
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
192 If the beginning of defun function returns t, point moves to the
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
193 beginning of the line containing the beginning of defun."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 ;; XEmacs change (for zmacs regions)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 (interactive "_p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
196 (and (beginning-of-defun-raw count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 (progn (beginning-of-line) t)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
199 (defun beginning-of-defun-raw (&optional count)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 "Move point to the character that starts a defun.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 This is identical to beginning-of-defun, except that point does not move
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 to the beginning of the line when `defun-prompt-regexp' is non-nil."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 (interactive "p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
204 (unless count (setq count 1))
4705
7b90173970ad Unbreak `beginning-of-defun'.
Mike Sperber <sperber@deinprogramm.de>
parents: 4696
diff changeset
205 (if beginning-of-defun-function
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
206 (funcall beginning-of-defun-function count)
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
207 (and (< count 0) (not (eobp)) (forward-char 1))
4705
7b90173970ad Unbreak `beginning-of-defun'.
Mike Sperber <sperber@deinprogramm.de>
parents: 4696
diff changeset
208 (and
7b90173970ad Unbreak `beginning-of-defun'.
Mike Sperber <sperber@deinprogramm.de>
parents: 4696
diff changeset
209 (re-search-backward (if defun-prompt-regexp
7b90173970ad Unbreak `beginning-of-defun'.
Mike Sperber <sperber@deinprogramm.de>
parents: 4696
diff changeset
210 (concat "^\\s(\\|"
7b90173970ad Unbreak `beginning-of-defun'.
Mike Sperber <sperber@deinprogramm.de>
parents: 4696
diff changeset
211 "\\(" defun-prompt-regexp "\\)\\s(")
7b90173970ad Unbreak `beginning-of-defun'.
Mike Sperber <sperber@deinprogramm.de>
parents: 4696
diff changeset
212 "^\\s(")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
213 nil 'move count)
4705
7b90173970ad Unbreak `beginning-of-defun'.
Mike Sperber <sperber@deinprogramm.de>
parents: 4696
diff changeset
214 (progn (goto-char (1- (match-end 0)))) t)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 ;; XEmacs change (optional buffer parameter)
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
217 (defun buffer-end (direction &optional buffer)
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
218 "Return `point-max' of BUFFER if DIRECTION > 0, else return `point-min'.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 BUFFER defaults to the current buffer if omitted."
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
220 (if (> direction 0) (point-max buffer) (point-min buffer)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
222 (defun end-of-defun (&optional count)
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
223 "Move forward to next end of defun.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
224 Non-nil COUNT means do it that many times (default is 1).
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
225 Negative COUNT means move back to -COUNTth preceding end of defun.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226
4724
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
227 In the default implementation, the end of a defun is the end of the
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
228 s-expression started at the character identified by `beginning-of-defun'.
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
229
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
230 If `end-of-defun-function' is non-nil, none of the default processing is
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
231 done. For a repetition count greater than 1, `end-of-defun-function' is
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
232 called that many times. If the repetition count is less than 1, nothing
7eef89a3d41f Improve docstrings of defun movement functions.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4712
diff changeset
233 is done. \(This is a bug.)"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 ;; XEmacs change (for zmacs regions)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 (interactive "_p")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
236 (if (or (null count) (= count 0)) (setq count 1))
4696
ecc468b62551 funcall beginning-of-defun-function arg
andreas.roehler@online.de
parents: 3543
diff changeset
237 (if end-of-defun-function
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
238 (if (> count 0)
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
239 (dotimes (i count)
4696
ecc468b62551 funcall beginning-of-defun-function arg
andreas.roehler@online.de
parents: 3543
diff changeset
240 (funcall end-of-defun-function)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 (let ((first t))
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
242 (while (and (> count 0) (< (point) (point-max)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 (let ((pos (point))) ; XEmacs -- remove unused npos.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 (while (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 (if (and first
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 (end-of-line 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 (beginning-of-defun-raw 1)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 nil
446
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents: 444
diff changeset
250 (or (bobp) (backward-char 1))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251 (beginning-of-defun-raw -1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 (setq first nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 (forward-list 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 (skip-chars-forward " \t")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 (if (looking-at "\\s<\\|\n")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 (forward-line 1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257 (<= (point) pos))))
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
258 (setq count (1- count)))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
259 (while (< count 0)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260 (let ((pos (point)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 (beginning-of-defun-raw 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 (forward-sexp 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 (forward-line 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264 (if (>= (point) pos)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 (if (beginning-of-defun-raw 2)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 (forward-list 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 (skip-chars-forward " \t")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 (if (looking-at "\\s<\\|\n")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 (forward-line 1)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271 (goto-char (point-min)))))
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
272 (setq count (1+ count))))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 (defun mark-defun ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 "Put mark at end of this defun, point at beginning.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 The defun marked is the one that contains point or follows point."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278 (push-mark (point))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 (end-of-defun)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 (push-mark (point) nil t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281 (beginning-of-defun)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 (re-search-backward "^\n" (- (point) 1) t))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 (defun narrow-to-defun (&optional arg)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285 "Make text outside current defun invisible.
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
286 The defun visible is the one that contains point or follows point.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
287 Optional ARG is currently ignored."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289 (save-excursion
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 (widen)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291 (end-of-defun)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292 (let ((end (point)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293 (beginning-of-defun)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294 (narrow-to-region (point) end))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
296 (defun insert-parentheses (count)
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
297 "Enclose following COUNT sexps in parentheses. Leave point after open-paren.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
298 A negative COUNT encloses the preceding -COUNT sexps instead.
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
299 COUNT defaults to zero: just insert `()' and leave point between.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300 If `parens-require-spaces' is non-nil, this command also inserts a space
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 before and after, depending on the surrounding characters."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 (interactive "P")
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
303 (if count (setq count (prefix-numeric-value count))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
304 (setq count 0))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
305 (cond ((> count 0) (skip-chars-forward " \t"))
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
306 ((< count 0) (forward-sexp count) (setq count (- count))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 (and parens-require-spaces
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308 (not (bobp))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 (memq (char-syntax (char-before (point))) '(?w ?_ ?\) ))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310 (insert " "))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311 (insert ?\()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 (save-excursion
4726
4bbda1c11a7b Improve argument names and update docstrings.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4724
diff changeset
313 (or (eq count 0) (forward-sexp count))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314 (insert ?\))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 (and parens-require-spaces
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 (not (eobp))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317 (memq (char-syntax (char-after (point))) '(?w ?_ ?\( ))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318 (insert " "))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320 (defun move-past-close-and-reindent ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 "Move past next `)', delete indentation before it, then indent after it."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 (up-list 1)
446
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents: 444
diff changeset
324 (backward-char 1)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 (while (save-excursion ; this is my contribution
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 (let ((before-paren (point)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 (back-to-indentation)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 (= (point) before-paren)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 (delete-indentation))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
330 (forward-char 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331 (newline-and-indent))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
333 (defun lisp-complete-symbol ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
334 "Perform completion on Lisp symbol preceding point.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335 Compare that symbol against the known Lisp symbols.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337 The context determines which symbols are considered.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338 If the symbol starts just after an open-parenthesis, only symbols
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339 with function definitions are considered. Otherwise, all symbols with
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 function definitions, values or properties are considered."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342 (let* ((end (point))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 (buffer-syntax (syntax-table))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 (beg (unwind-protect
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 (save-excursion
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346 ;; XEmacs change
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 (if emacs-lisp-mode-syntax-table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348 (set-syntax-table emacs-lisp-mode-syntax-table))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349 (backward-sexp 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350 (while (eq (char-syntax (char-after (point))) ?\')
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 (forward-char 1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352 (point))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 (set-syntax-table buffer-syntax)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354 (pattern (buffer-substring beg end))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355 (predicate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356 (if (eq (char-after (1- beg)) ?\()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 'fboundp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358 ;; XEmacs change
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 #'(lambda (sym)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360 (or (boundp sym) (fboundp sym)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361 (symbol-plist sym)))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362 (completion (try-completion pattern obarray predicate)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 (cond ((eq completion t))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 ((null completion)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365 (message "Can't find completion for \"%s\"" pattern)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 (ding))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 ((not (string= pattern completion))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368 (delete-region beg end)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369 (insert completion))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370 (t
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371 (message "Making completion list...")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372 (let ((list (all-completions pattern obarray predicate))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373 ;FSFmacs crock unnecessary in XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374 ;see minibuf.el
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375 ;(completion-fixup-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
376 ; (function (lambda () (if (save-excursion
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377 ; (goto-char (max (point-min)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378 ; (- (point) 4)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
379 ; (looking-at " <f>"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380 ; (forward-char -4))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
381 )
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
382 (or (eq predicate 'fboundp)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383 (let (new)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384 (while list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
385 (setq new (cons (if (fboundp (intern (car list)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
386 (list (car list) " <f>")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387 (car list))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388 new))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389 (setq list (cdr list)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390 (setq list (nreverse new))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
391 (with-output-to-temp-buffer "*Completions*"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
392 (display-completion-list list)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393 (message "Making completion list...%s" "done")))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
395 ;;; lisp.el ends here