diff --git a/src/callback.cpp b/src/callback.cpp index d730e99746..7cda91a367 100644 --- a/src/callback.cpp +++ b/src/callback.cpp @@ -131,32 +131,9 @@ bool menuWrite(Buffer * buffer) If 'newname' is empty (the default), the user is asked via a dialog for the buffer's new name and location. - If 'newname' is not empty, FileName::makeAbsPath() will indirectly - produce the following behaviour: - - * If 'newname' has an absolute path, use that. - - * If 'newname' has a relative path (or no path) and the buffer has - a path, that path is used as the base for 'newname'. Typically - this means that 'M-x buffer-write-as newname.lyx' will write to - the same directory as the original file. - - * Otherwise use CWD as the base directory for 'newname'. - This behavour is arguably a bug, perhaps a system depedenant - "document directory" shoul be used instead. Note that CWD - isn't actually used according to a simple test on Linux. - Instead, it's based on '~', contrar to the documentation of - makeAbsPath(). Don't know what to do. *shrug* - - Note: No checks are done on the extension etc of 'newname' when - it's non-empty. This may arguably also be a bug. - - Note: The code may not code check that 'newname' is a valid for - the relevant file system? - - Note: In Linux, it doesn't work with e.g. '~/file.lyx'. If it's - done from e.g. a buffer '/tmp/buf.lyx', it instead tries to write - to '/tmp/~/file.lyx'. + If 'newname' is non-empty and has an absolute path, that is used. + Otherwise the base directory of the buffer is used as the base + for any relative path in 'newname'. */ bool writeAs(Buffer * buffer, string const & newname) diff --git a/src/lfuns.h b/src/lfuns.h index 2eb146a8bb..a99ea9c583 100644 --- a/src/lfuns.h +++ b/src/lfuns.h @@ -52,14 +52,11 @@ enum kb_action { LFUN_BUFFER_WRITE, // 5 LFUN_BUFFER_WRITE_AS, -/** LFUN_BUFFER_WRITE_AS, Chr 2007-08-12 - * Function: Save current buffer as .lyx-file with a new filename. +/** LFUN_BUFFER_WRITE_AS, + * Function: Rename and save current buffer. * Syntax: buffer-write-as - * In: = Name of the new file. Must currently be - * an absolute path (bug 4135). Relative paths will be - * treated as relative to the location of the original - * buffer (i.e. LyX file?). - * + * In: = New name of the buffer/file. A relative path + * is with respect to the original location of the buffer/file. */ LFUN_BUILD_PROGRAM, LFUN_BUFFER_VIEW,