extern Lisp_Object Voverriding_local_map;
/* For VMS versions with limited file name syntax,
- convert the name to something VMS will allow. */
+ convert the name to something VMS will allow. */
static void
munge_doc_file_name (name)
char *name;
{
#ifdef VMS
-#ifndef VMS4_4
- /* For VMS versions with limited file name syntax,
- convert the name to something VMS will allow. */
- p = name;
+#ifndef NO_HYPHENS_IN_FILENAMES
+ extern char * sys_translate_unix (char *ufile);
+ strcpy (name, sys_translate_unix (name));
+#else /* NO_HYPHENS_IN_FILENAMES */
+ char *p = name;
while (*p)
{
if (*p == '-')
*p = '_';
p++;
}
-#endif /* not VMS4_4 */
-#ifdef VMS4_4
- strcpy (name, sys_translate_unix (name));
-#endif /* VMS4_4 */
+#endif /* NO_HYPHENS_IN_FILENAMES */
#endif /* VMS */
}
strcpy (name, SDATA (Vdoc_directory));
}
strcat (name, SDATA (filename)); /*** Add this line ***/
-#ifdef VMS
-#ifndef VMS4_4
- /* For VMS versions with limited file name syntax,
- convert the name to something VMS will allow. */
- p = name;
- while (*p)
- {
- if (*p == '-')
- *p = '_';
- p++;
- }
-#else /* VMS4_4 */
- strcpy (name, sys_translate_unix (name));
-#endif /* VMS4_4 */
-#endif /* VMS */
+ munge_doc_file_name (name);
/* Vbuild_files is nil when temacs is run, and non-nil after that. */
if (NILP (Vbuild_files))
{
struct buffer *oldbuf;
int start_idx;
+ /* This is for computing the SHADOWS arg for describe_map_tree. */
+ Lisp_Object active_maps = Fcurrent_active_maps (Qnil);
+ Lisp_Object earlier_maps;
changed = 1;
strp += 2; /* skip \{ or \< */
else if (start[-1] == '<')
keymap = tem;
else
- describe_map_tree (tem, 1, Qnil, Qnil, (char *)0, 1, 0, 0);
+ {
+ /* Get the list of active keymaps that precede this one.
+ If this one's not active, get nil. */
+ earlier_maps = Fcdr (Fmemq (tem, Freverse (active_maps)));
+ describe_map_tree (tem, 1, Fnreverse (earlier_maps),
+ Qnil, (char *)0, 1, 0, 0, 1);
+ }
tem = Fbuffer_string ();
Ferase_buffer ();
set_buffer_internal (oldbuf);