| Ilya Zakharevich on Sat, 7 Nov 1998 02:01:03 -0500 (EST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Electric parens in GP |
This patch leaves the default state of electric parens as it is,
leaves `pari-matched-insert' .initrc command as it is, but enables
switching electric parens off/on at run time by
meta 0 (
and
meta - (
correspondingly.
Enjoy,
Ilya
--- ./src/gp/gp_rl.c~ Fri Nov 6 10:08:30 1998
+++ ./src/gp/gp_rl.c Sat Nov 7 01:54:22 1998
@@ -50,7 +50,8 @@ static entree *current_ep = NULL;
static int pari_rl_back;
extern RLCI rl_last_func;
static int do_args_complete = 1;
-static int do_matched_insert = 1;
+static int do_matched_insert = 0;
+static int did_init_matched = 0;
#ifndef HAS_RL_SAVE_PROMPT
void _rl_save_prompt() {}
@@ -121,6 +122,16 @@ pari_rl_matched_insert(int count, int ke
}
static int
+pari_rl_default_matched_insert(int count, int key)
+{
+ if (!did_init_matched) {
+ did_init_matched = 1;
+ do_matched_insert = 1;
+ }
+ return pari_rl_matched_insert(count, key);
+}
+
+static int
pari_rl_forward_sexp(int count, int key)
{
int deep = 0, dir = 1, move_point, lfail;
@@ -557,7 +568,7 @@ init_readline()
Defun("short-help", (Function*) rl_short_help, -1);
Defun("long-help", (Function*) rl_long_help, -1);
Defun("pari-complete", (Function*) pari_rl_complete, '\t');
- Defun("pari-matched-insert", (Function*) pari_rl_matched_insert, -1);
+ Defun("pari-matched-insert", (Function*) pari_rl_default_matched_insert, -1);
Defun("pari-forward-sexp", (Function*) pari_rl_forward_sexp, -1);
Defun("pari-backward-sexp", (Function*) pari_rl_backward_sexp, -1);
@@ -565,10 +576,8 @@ init_readline()
Bind('H', (Function*) rl_long_help, emacs_meta_keymap);
Bind('h', (Function*) rl_short_help, vi_movement_keymap);
Bind('H', (Function*) rl_long_help, vi_movement_keymap);
-#if 0
Bind('(', (Function*) pari_rl_matched_insert, emacs_standard_keymap);
Bind('[', (Function*) pari_rl_matched_insert, emacs_standard_keymap);
-#endif
Bind(6, (Function*) pari_rl_forward_sexp, emacs_meta_keymap); /* M-C-f */
Bind(2, (Function*) pari_rl_backward_sexp, emacs_meta_keymap); /* M-C-b */