comparison src/minibuf.c @ 2268:61855263cb07

[xemacs-hg @ 2004-09-14 14:32:29 by james] Identify functions that don't return, including some DEFUNs.
author james
date Tue, 14 Sep 2004 14:33:07 +0000
parents 79c6ff3eef26
children 04bc9d2f42c7
comparison
equal deleted inserted replaced
2267:5753220a0f80 2268:61855263cb07
132 Vminibuf_preprompt = LISP_GETTEXT (preprompt); 132 Vminibuf_preprompt = LISP_GETTEXT (preprompt);
133 } 133 }
134 return Qnil; 134 return Qnil;
135 } 135 }
136 136
137 DEFUN ("read-minibuffer-internal", Fread_minibuffer_internal, 1, 1, 0, /* 137 DEFUN_NORETURN ("read-minibuffer-internal", Fread_minibuffer_internal,
138 1, 1, 0, /*
138 Lowest-level interface to minibuffers. Don't call this. 139 Lowest-level interface to minibuffers. Don't call this.
139 */ 140 */
140 (prompt)) 141 (prompt))
141 { 142 {
142 /* This function can GC */ 143 /* This function can GC */
143 int speccount = specpdl_depth (); 144
145 /* We used to record the specpdl_depth here, but since call_command_loop
146 never returns, we can never call unbind_to_1. Since we exit via a throw,
147 we let whoever catches unbind for us. */
148
144 Lisp_Object val; 149 Lisp_Object val;
145 150
146 CHECK_STRING (prompt); 151 CHECK_STRING (prompt);
147 152
148 single_console_state (); 153 single_console_state ();
186 minibuf_level++; 191 minibuf_level++;
187 clear_echo_area (selected_frame (), Qnil, 0); 192 clear_echo_area (selected_frame (), Qnil, 0);
188 193
189 val = call_command_loop (Qt); 194 val = call_command_loop (Qt);
190 195
191 return unbind_to_1 (speccount, val); 196 RETURN_NOT_REACHED (val);
192 } 197 }
193 198
194 199
195 200
196 /* Completion hair */ 201 /* Completion hair */