# HG changeset patch # User Juri Linkov # Date 1149109867 0 # Node ID 3c66cf4b4ded21479871d839e560d16d5fbd5926 # Parent 9c9b855e9a82c70345a1775b761dc7b6d07b007b (Vhistory_add_new_input): New variable. (read_minibuf): Use it. (syms_of_minibuf) : New Lisp variable. (syms_of_minibuf) : Doc fix. diff -r 9c9b855e9a82 -r 3c66cf4b4ded src/minibuf.c --- a/src/minibuf.c Wed May 31 20:23:15 2006 +0000 +++ b/src/minibuf.c Wed May 31 21:11:07 2006 +0000 @@ -66,6 +66,10 @@ int history_delete_duplicates; +/* Non-nil means add new input to history. */ + +Lisp_Object Vhistory_add_new_input; + /* Fread_minibuffer leaves the input here as a string. */ Lisp_Object last_minibuf_string; @@ -753,7 +757,8 @@ histstring = Qnil; /* Add the value to the appropriate history list, if any. */ - if (SYMBOLP (Vminibuffer_history_variable) + if (!NILP (Vhistory_add_new_input) + && SYMBOLP (Vminibuffer_history_variable) && !NILP (histstring)) { /* If the caller wanted to save the value read on a history list, @@ -2800,9 +2805,16 @@ DEFVAR_BOOL ("history-delete-duplicates", &history_delete_duplicates, doc: /* *Non-nil means to delete duplicates in history. If set to t when adding a new history element, all previous identical -elements are deleted. */); +elements are deleted from the history list. */); history_delete_duplicates = 0; + DEFVAR_LISP ("history-add-new-input", &Vhistory_add_new_input, + doc: /* *Non-nil means to add new elements in history. +If set to nil, minibuffer reading functions don't add new elements to the +history list, so it is possible to do this afterwards by calling +`add-to-history' explicitly. */); + Vhistory_add_new_input = Qt; + DEFVAR_LISP ("completion-auto-help", &Vcompletion_auto_help, doc: /* *Non-nil means automatically provide help for invalid completion input. Under Partial Completion mode, a non-nil, non-t value has a special meaning;