unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* vc-version-other-window
@ 2004-10-06 11:21 Nick Roberts
  2004-10-06 13:05 ` vc-version-other-window Stefan Monnier
  0 siblings, 1 reply; 14+ messages in thread
From: Nick Roberts @ 2004-10-06 11:21 UTC (permalink / raw)



vc-version-other-window seems to be losing small chunk(s) of files. To
reproduce it, retrieve the working version of gdb-ui.el or fortran.el with
this command (see a diff below). I think an earlier thread discussed a similar
problem with a different command. I've not noticed this problem before but I'm
baffled because it seems to also happen with an old Emacs (21.2).

Nick


diff -c fortran.el fortran.el.~1.112~

*** fortran.el	2004-05-01 07:51:20.000000000 +1200
--- fortran.el.~1.112~	2004-10-06 19:15:45.000000000 +1300
***************
*** 120,242 ****
    :type  '(radio (const :tag "Untouched" nil) (const fixed) (const relative))
    :group 'fortran-indent)
  
! (defcustom fortran-comment-line-extra-indent 0
!   "*Amount of extra indentation for text within full-line comments."
!   :type  'integer
!   :group 'fortran-indent
!   :group 'fortran-comment)
! 
! (defcustom fortran-comment-line-start "C"
!   "*Delimiter inserted to start new full-line comment.
! You might want to change this to \"*\", for instance."
!   :version "21.1"
!   :type    'string
!   :group   'fortran-comment)
! 
! ;; This used to match preprocessor lines too, but that messes up
! ;; filling and doesn't seem to be necessary.
! (defcustom fortran-comment-line-start-skip
!   "^[CcDd*!]\\(\\([^ \t\n]\\)\\2+\\)?[ \t]*"
!   "*Regexp to match the start of a full-line comment."
!   :version "21.1"
!   :type    'regexp
!   :group   'fortran-comment)
! 
! (defcustom fortran-directive-re
!   "^[ \t]*#.*"
!   "*Regexp to match a directive line.
! The matching text will be fontified with `font-lock-keyword-face'.
! The matching line will be given zero indentation."
!   :version "21.4"
!   :type    'regexp
!   :group   'fortran-indent)
! 
! (defcustom fortran-minimum-statement-indent-fixed 6
!   "*Minimum statement indentation for fixed format continuation style."
!   :type  'integer
!   :group 'fortran-indent)
! 
! (defcustom fortran-minimum-statement-indent-tab (max tab-width 6)
!   "*Minimum statement indentation for TAB format continuation style."
!   :type  'integer
!   :group 'fortran-indent)
! 
! ;; Note that this is documented in the v18 manuals as being a string
! ;; of length one rather than a single character.
! ;; The code in this file accepts either format for compatibility.
! (defcustom fortran-comment-indent-char " "
!   "*Single-character string inserted for Fortran comment indentation.
! Normally a space."
!   :type  'string
!   :group 'fortran-comment)
! 
! (defcustom fortran-line-number-indent 1
!   "*Maximum indentation for Fortran line numbers.
! 5 means right-justify them within their five-column field."
!   :type  'integer
!   :group 'fortran-indent)
! 
! (defcustom fortran-check-all-num-for-matching-do nil
!   "*Non-nil causes all numbered lines to be treated as possible DO loop ends."
!   :type  'boolean
!   :group 'fortran)
! 
! (defcustom fortran-blink-matching-if nil
!   "*Non-nil causes \\[fortran-indent-line] on ENDIF to blink on matching IF.
! Also, from an ENDDO statement blink on matching DO [WHILE] statement."
!   :type  'boolean
!   :group 'fortran)
! 
! (defcustom fortran-continuation-string "$"
!   "*Single-character string used for Fortran continuation lines.
! In fixed format continuation style, this character is inserted in
! column 6 by \\[fortran-split-line] to begin a continuation line.
! Also, if \\[fortran-indent-line] finds this at the beginning of a
! line, it will convert the line into a continuation line of the
! appropriate style. Normally $."
!   :type  'string
!   :group 'fortran)
! 
! (defcustom fortran-comment-region "c$$$"
!   "*String inserted by \\[fortran-comment-region] at start of each \
! line in region."
!   :type  'string
!   :group 'fortran-comment)
! 
! (defcustom fortran-electric-line-number t
!   "*Non-nil causes line numbers to be moved to the correct column as typed."
!   :type  'boolean
!   :group 'fortran)
! 
! (defcustom fortran-column-ruler-fixed
!   "0   4 6  10        20        30        40        5\
! 0        60        70\n\
! \[   ]|{   |    |    |    |    |    |    |    |    \
! \|    |    |    |    |}\n"
!   "String displayed above current line by \\[fortran-column-ruler].
! This variable is used in fixed format mode.
! See the variable `fortran-column-ruler-tab' for TAB format mode."
!   :type  'string
!   :group 'fortran)
! 
! (defcustom fortran-column-ruler-tab
!   "0       810        20        30        40        5\
! 0        60        70\n\
! \[   ]|  { |    |    |    |    |    |    |    |    \
! \|    |    |    |    |}\n"
!   "String displayed above current line by \\[fortran-column-ruler].
! This variable is used in TAB format mode.
! See the variable `fortran-column-ruler-fixed' for fixed format mode."
!   :type  'string
!   :group 'fortran)
! 
! (defcustom fortran-analyze-depth 100
!   "Number of lines to scan to identify fixed or TAB format style."
!   :type  'integer
!   :group 'fortran)
! 
! (defcustom fortran-break-before-delimiters t
!   "*Non-nil causes filling to break lines before delimiters.
  Delimiters are characters matching the regexp `fortran-break-delimiters-re'."
    :type  'boolean
    :group 'fortran)
--- 120,126 ----
    :type  '(radio (const :tag "Untouched" nil) (const fixed) (const relative))
    :group 'fortran-indent)
  
! (defcustom fortran
  Delimiters are characters matching the regexp `fortran-break-delimiters-re'."
    :type  'boolean
    :group 'fortran)
***************
*** 329,634 ****
                              "gt" "ne" "true" "false")
                            'paren) "\\.")
             ;; do/goto keywords and targets, and goto tags.
!            '("\\<\\(do\\|go *to\\)\\>[ \t]*\\([0-9]+\\)?"
!              (1 font-lock-keyword-face)
!              (2 font-lock-constant-face nil t))
!            '("^ *\\([0-9]+\\)" . font-lock-constant-face)))
!   "Medium level highlighting for Fortran mode.")
! 
! (defvar fortran-font-lock-keywords-3
!   (append
!    fortran-font-lock-keywords-1
!    ;; All type specifiers plus their declared items.
!    (list
!     (list (concat fortran-type-types "[ \t(/]*\\(*\\)?")
!           ;; Type specifier.
!           '(1 font-lock-type-face)
!           ;; Declaration item (or just /.../ block name).
!           `(font-lock-match-c-style-declaration-item-and-skip-to-next
!             ;; Start after any *(...) expression.
!             (condition-case nil
!                 (and (match-beginning ,(1+ (regexp-opt-depth
!                                             fortran-type-types)))
!                      (forward-sexp)
!                      (forward-sexp))
!               (error nil))
!             ;; No need to clean up.
!             nil
!             ;; Fontify as a variable name, functions fontified elsewhere.
!             (1 font-lock-variable-name-face nil t))))
!    ;; Things extra to `fortran-font-lock-keywords-3' (must be done first).
!    (list
!     ;; Goto-like `err=label'/`end=label' in read/write statements.
!     '(", *\\(e\\(nd\\|rr\\)\\)\\> *\\(= *\\([0-9]+\\)\\)?"
!       (1 font-lock-keyword-face) (4 font-lock-constant-face nil t))
!     ;; Standard continuation character and in a TAB-formatted line.
!     '("^ \\{5\\}\\([^ 0\n]\\)" 1 font-lock-string-face)
!     '("^\t\\([1-9]\\)"         1 font-lock-string-face))
!    `((,fortran-directive-re (0 font-lock-keyword-face t)))
!    ;; `fortran-font-lock-keywords-2' without types (see above).
!    (cdr (nthcdr (length fortran-font-lock-keywords-1)
!                 fortran-font-lock-keywords-2)))
!   "Gaudy level highlighting for Fortran mode.")
! 
! ;; Comments are real pain in Fortran because there is no way to
! ;; represent the standard comment syntax in an Emacs syntax table.
! ;; (We can do so for F90-style).  Therefore an unmatched quote in a
! ;; standard comment will throw fontification off on the wrong track.
! ;; So we do syntactic fontification with regexps.
! (defvar fortran-font-lock-syntactic-keywords
!   '(("^[cd\\*]" 0 (11))
!     ("^[^cd\\*\t\n].\\{71\\}\\([^\n]+\\)" 1 (11)))
!   "`font-lock-syntactic-keywords' for Fortran.
! These get fixed-format comments fontified.")
! 
! (defvar fortran-font-lock-keywords fortran-font-lock-keywords-1
!   "Default expressions to highlight in Fortran mode.")
! 
! (defvar fortran-imenu-generic-expression
!   ;; These patterns could be confused by sequence nos. in cols 72+ and
!   ;; don't allow continuations everywhere.
!   (list
!    (list
!     nil
!     ;; [This will be fooled by `end function' allowed by G77.  Also,
!     ;; it assumes sensible whitespace is employed.]
!     (concat
!      ;; leading whitespace:
!      "^\\s-+\\("
!      ;; function declaration with optional type, e.g. `real',
!      ;; `real*4', character(*), `double precision':
!      "\\(\\sw\\|\\s-\\|[*()+]\\)*"
!      "\\<function\\|subroutine\\|entry\\|block\\s-*data\\|program\\)"
!      ;; Possible statement continuation:
!      "[ \t" fortran-continuation-string "]+"
!      ;; Variable to index:
!      "\\(\\sw+\\)")
!     3)
!    ;; Un-named block data.
!    '(nil "^\\s-+\\(block\\s-*data\\)\\s-*$" 1))
!   "Value for `imenu-generic-expression' in Fortran mode.")
! 
! \f
! (defvar fortran-mode-syntax-table
!   (let ((table (make-syntax-table)))
!     ;; We might like `;' to be punctuation (g77 multi-statement
!     ;; lines), but that screws abbrevs.
!     (modify-syntax-entry ?\; "w"  table)
!     (modify-syntax-entry ?\r " "  table)
!     (modify-syntax-entry ?+  "."  table)
!     (modify-syntax-entry ?-  "."  table)
!     (modify-syntax-entry ?=  "."  table)
!     (modify-syntax-entry ?*  "."  table)
!     (modify-syntax-entry ?/  "."  table)
!     (modify-syntax-entry ?\' "\"" table)
!     (modify-syntax-entry ?\" "\"" table)
!     ;; Consistent with GNU Fortran -- see the manual.
!     (modify-syntax-entry ?\\ "\\" table)
!     ;; This might be better as punctuation, as for C, but this way you
!     ;; can treat floating-point numbers as symbols.
!     (modify-syntax-entry ?.  "_"  table) ; e.g. `a.ne.b'
!     (modify-syntax-entry ?_  "_"  table)
!     (modify-syntax-entry ?$  "_"  table) ; esp. VMSisms
!     (modify-syntax-entry ?\! "<"  table)
!     (modify-syntax-entry ?\n ">"  table)
!     table)
!   "Syntax table used in Fortran mode.")
! 
! (defvar fortran-gud-syntax-table
!   (let ((st (make-syntax-table fortran-mode-syntax-table)))
!     (modify-syntax-entry ?\n "." st)
!     st)
!   "Syntax table used to parse Fortran expressions for printing in GUD.")
! 
! (defvar fortran-mode-map
!   (let ((map (make-sparse-keymap)))
!     (define-key map ";"        'fortran-abbrev-start)
!     (define-key map "\C-c;"    'fortran-comment-region)
!     (define-key map "\M-;"     'fortran-indent-comment)
!     (define-key map "\M-\n"    'fortran-split-line)
!     (define-key map "\M-\C-q"  'fortran-indent-subprogram)
!     (define-key map "\C-c\C-w" 'fortran-window-create-momentarily)
!     (define-key map "\C-c\C-r" 'fortran-column-ruler)
!     (define-key map "\C-c\C-p" 'fortran-previous-statement)
!     (define-key map "\C-c\C-n" 'fortran-next-statement)
!     (define-key map "\C-c\C-d" 'fortran-join-line) ; like f90
!     (define-key map "\M-^"     'fortran-join-line) ; subvert delete-indentation
!     (define-key map "0" 'fortran-electric-line-number)
!     (define-key map "1" 'fortran-electric-line-number)
!     (define-key map "2" 'fortran-electric-line-number)
!     (define-key map "3" 'fortran-electric-line-number)
!     (define-key map "4" 'fortran-electric-line-number)
!     (define-key map "5" 'fortran-electric-line-number)
!     (define-key map "6" 'fortran-electric-line-number)
!     (define-key map "7" 'fortran-electric-line-number)
!     (define-key map "8" 'fortran-electric-line-number)
!     (define-key map "9" 'fortran-electric-line-number)
! 
!     (easy-menu-define fortran-menu map "Menu for Fortran mode."
!       `("Fortran"
!         ["Manual" (info "(emacs)Fortran")]
!         ("Customization"
!          ,(custom-menu-create 'fortran)
!          ["Set"  Custom-set t]
!          ["Save" Custom-save t]
!          ["Reset to Current" Custom-reset-current t]
!          ["Reset to Saved"   Custom-reset-saved t]
!          ["Reset to Standard Settings" Custom-reset-standard t]
!          )
!         "--"
!         ["Comment Region" fortran-comment-region mark-active]
!         ["Uncomment Region"
!          (fortran-comment-region (region-beginning) (region-end) 1)
!          mark-active]
!         ["Indent Region"     indent-region mark-active]
!         ["Indent Subprogram" fortran-indent-subprogram t]
!         "--"
!         ["Beginning of Subprogram" fortran-beginning-of-subprogram t]
!         ["End of Subprogram"       fortran-end-of-subprogram       t]
!         ("Mark"
!          ["Subprogram" mark-defun      t]
!          ["IF Block"   fortran-mark-if t]
!          ["DO Block"   fortran-mark-do t]
!          )
!         ["Narrow to Subprogram" narrow-to-defun t]
!         ["Widen" widen t]
!         "--"
!         ["Temporary column ruler" fortran-column-ruler  t]
!         ["72-column window"       fortran-window-create t]
!         ["Full Width Window"
!          (enlarge-window-horizontally (- (frame-width) (window-width)))
!          (< (window-width) (frame-width))]
!         ["Momentary 72-column window" fortran-window-create-momentarily t]
!         "--"
!         ["Break Line at Point"    fortran-split-line t]
!         ["Join Line"              fortran-join-line  t]
!         ["Fill Statement/Comment" fill-paragraph     t]
!         "--"
!         ["Toggle auto-fill"   auto-fill-mode :selected auto-fill-function
!          :style toggle]
!         ["Toggle abbrev-mode" abbrev-mode    :selected abbrev-mode
!          :style toggle]
!         ["Add imenu Menu" imenu-add-menubar-index
!          :active   (not (lookup-key (current-local-map) [menu-bar index]))
!          :included (fboundp 'imenu-add-to-menubar)]))
!     map)
!   "Keymap used in Fortran mode.")
! 
! \f
! (defvar fortran-mode-abbrev-table
!   (let (abbrevs-changed)
!     (define-abbrev-table 'fortran-mode-abbrev-table nil)
!     ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
!     ;; Only use `apply' to quieten the byte-compiler.
!     (mapcar
!      (function (lambda (element)
!                  (condition-case nil
!                      (apply 'define-abbrev fortran-mode-abbrev-table
!                             (append element '(nil 0 t)))
!                    (wrong-number-of-arguments
!                     (apply 'define-abbrev fortran-mode-abbrev-table
!                            (append element '(nil 0)))))))
!      '((";au"   "automatic"         )
!        (";b"    "byte"              )
!        (";bd"   "block data"        )
!        (";ch"   "character"         )
!        (";cl"   "close"             )
!        (";c"    "continue"          )
!        (";cm"   "common"            )
!        (";cx"   "complex"           )
!        (";df"   "define"            )
!        (";di"   "dimension"         )
!        (";do"   "double"            )
!        (";dc"   "double complex"    )
!        (";dp"   "double precision"  )
!        (";dw"   "do while"          )
!        (";e"    "else"              )
!        (";ed"   "enddo"             )
!        (";el"   "elseif"            )
!        (";en"   "endif"             )
!        (";eq"   "equivalence"       )
!        (";ew"   "endwhere"          )
!        (";ex"   "external"          )
!        (";ey"   "entry"             )
!        (";f"    "format"            )
!        (";fa"   ".false."           )
!        (";fu"   "function"          )
!        (";g"    "goto"              )
!        (";im"   "implicit"          )
!        (";ib"   "implicit byte"     )
!        (";ic"   "implicit complex"  )
!        (";ich"  "implicit character")
!        (";ii"   "implicit integer"  )
!        (";il"   "implicit logical"  )
!        (";ir"   "implicit real"     )
!        (";inc"  "include"           )
!        (";in"   "integer"           )
!        (";intr" "intrinsic"         )
!        (";l"    "logical"           )
!        (";n"    "namelist"          )
!        (";o"    "open"              )   ; was ;op
!        (";pa"   "parameter"         )
!        (";pr"   "program"           )
!        (";ps"   "pause"             )
!        (";p"    "print"             )
!        (";rc"   "record"            )
!        (";re"   "real"              )
!        (";r"    "read"              )
!        (";rt"   "return"            )
!        (";rw"   "rewind"            )
!        (";s"    "stop"              )
!        (";sa"   "save"              )
!        (";st"   "structure"         )
!        (";sc"   "static"            )
!        (";su"   "subroutine"        )
!        (";tr"   ".true."            )
!        (";ty"   "type"              )
!        (";vo"   "volatile"          )
!        (";w"    "write"             )
!        (";wh"   "where"             )))
!     fortran-mode-abbrev-table))
! 
! \f
! 
! ;;;###autoload
! (defun fortran-mode ()
!   "Major mode for editing Fortran code in fixed format.
! For free format code, use `f90-mode'.
! 
! \\[fortran-indent-line] indents the current Fortran line correctly.
! Note that DO statements must not share a common CONTINUE.
! 
! Type ;? or ;\\[help-command] to display a list of built-in abbrevs for\
!  Fortran keywords.
! 
! Key definitions:
! \\{fortran-mode-map}
! 
! Variables controlling indentation style and extra features:
! 
! `comment-start'
!   To use comments starting with `!', set this to the string \"!\".
! `fortran-do-indent'
!   Extra indentation within DO blocks (default 3).
! `fortran-if-indent'
!   Extra indentation within IF blocks (default 3).
! `fortran-structure-indent'
!   Extra indentation within STRUCTURE, UNION, MAP and INTERFACE blocks.
!   (default 3)
! `fortran-continuation-indent'
!   Extra indentation applied to continuation statements (default 5).
! `fortran-comment-line-extra-indent'
!   Amount of extra indentation for text in full-line comments (default 0).
! `fortran-comment-indent-style'
!   How to indent the text in full-line comments. Allowed values are:
!   nil       don't change the indentation
!   fixed     indent to `fortran-comment-line-extra-indent' beyond the
!               value of either
!                 `fortran-minimum-statement-indent-fixed' (fixed format) or
!                 `fortran-minimum-statement-indent-tab' (TAB format),
!               depending on the continuation format in use.
!   relative  indent to `fortran-comment-line-extra-indent' beyond the
!  	      indentation for a line of code.
    (default 'fixed)
  `fortran-comment-indent-char'
    Single-character string to be inserted instead of space for
--- 213,219 ----
                              "gt" "ne" "true" "false")
                            'paren) "\\.")
             ;; do/goto keywords and targets, and goto tags.
!            '("\\<\\(do\\|go *to\\)\\>[ \
    (default 'fixed)
  `fortran-comment-indent-char'
    Single-character string to be inserted instead of space for

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-06 11:21 vc-version-other-window Nick Roberts
@ 2004-10-06 13:05 ` Stefan Monnier
  2004-10-07 16:44   ` vc-version-other-window Richard Stallman
  0 siblings, 1 reply; 14+ messages in thread
From: Stefan Monnier @ 2004-10-06 13:05 UTC (permalink / raw)
  Cc: emacs-devel

> vc-version-other-window seems to be losing small chunk(s) of
> files. To reproduce it, retrieve the working version of gdb-ui.el or
> fortran.el with this command (see a diff below). I think an earlier thread
> discussed a similar problem with a different command. I've not noticed
> this problem before but I'm baffled because it seems to also happen with
> an old Emacs (21.2).

Known bad interaction between SSH, CVS and libc.
The problem is independent from Emacs.

You can use the script below as your CVS_RSH to work around the bug:

  #!/bin/sh
  (ssh "$@" 2>&1 1>&3 | cat) 3>&1 1>&2

A recent discussion about it on the CVS mailing list can be found around
http://lists.gnu.org/archive/html/bug-cvs/2004-09/msg00008.html


        Stefan

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-06 13:05 ` vc-version-other-window Stefan Monnier
@ 2004-10-07 16:44   ` Richard Stallman
  2004-10-07 17:25     ` vc-version-other-window Stefan Monnier
  0 siblings, 1 reply; 14+ messages in thread
From: Richard Stallman @ 2004-10-07 16:44 UTC (permalink / raw)
  Cc: nickrob, emacs-devel

    Known bad interaction between SSH, CVS and libc.
    The problem is independent from Emacs.

Do we have an entry in PROBLEMS about this?

Is there a way we could warn the user when this might be happening?
Detect that it has happened?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-07 16:44   ` vc-version-other-window Richard Stallman
@ 2004-10-07 17:25     ` Stefan Monnier
  2004-10-07 22:51       ` vc-version-other-window Kim F. Storm
                         ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Stefan Monnier @ 2004-10-07 17:25 UTC (permalink / raw)
  Cc: nickrob, spiegel, emacs-devel

>     Known bad interaction between SSH, CVS and libc.
>     The problem is independent from Emacs.
> Do we have an entry in PROBLEMS about this?

No.  I thought PROBLEMS was only for problems related to build/install or to
specific systems.

> Is there a way we could warn the user when this might be happening?

It's pretty difficult to detect when it might happen (it depends on the
CVS_RSH envvar, the CVS/Root file, the version of `cvs' you're using, the
speed of your network relative to the speed of your computer, the libc,
...).

IIUC, CVS people are working on a workaround (supposedly the problem is
that OpenSSH behaves badly, although it's difficult to say it's a bug).

> Detect that it has happened?

Seems even more difficult (and simply impossible in the case of
vc-version-other-window),


        Stefan

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-07 17:25     ` vc-version-other-window Stefan Monnier
@ 2004-10-07 22:51       ` Kim F. Storm
  2004-10-09  1:25       ` vc-version-other-window Richard Stallman
  2004-10-09  1:25       ` vc-version-other-window Richard Stallman
  2 siblings, 0 replies; 14+ messages in thread
From: Kim F. Storm @ 2004-10-07 22:51 UTC (permalink / raw)
  Cc: nickrob, rms, spiegel, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>     Known bad interaction between SSH, CVS and libc.
>>     The problem is independent from Emacs.
>> Do we have an entry in PROBLEMS about this?
>
> No.  I thought PROBLEMS was only for problems related to build/install or to
> specific systems.
>
>> Is there a way we could warn the user when this might be happening?
>
> It's pretty difficult to detect when it might happen (it depends on the
> CVS_RSH envvar, the CVS/Root file, the version of `cvs' you're using, the
> speed of your network relative to the speed of your computer, the libc,
> ...).
>

Better safe than sorry...  Why can't we just use the wrapper script always?

I suggest that

a) we include the wrapper script in the emacs tar-ball (e.g. in etc/ssh-wrapper),

b) install it as part of the installation

c) use it unconditionally to override the value of CVS_RSH if it
equals/contains 'ssh'.


BTW, INSTALL.CVS contains a note about this problem and the work-around (.

--
Kim F. Storm <storm@cua.dk> http://www.cua.dk

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-07 17:25     ` vc-version-other-window Stefan Monnier
  2004-10-07 22:51       ` vc-version-other-window Kim F. Storm
@ 2004-10-09  1:25       ` Richard Stallman
  2004-10-09  1:25       ` vc-version-other-window Richard Stallman
  2 siblings, 0 replies; 14+ messages in thread
From: Richard Stallman @ 2004-10-09  1:25 UTC (permalink / raw)
  Cc: nickrob, spiegel, emacs-devel

    No.  I thought PROBLEMS was only for problems related to build/install or to
    specific systems.

There is a section for "general runtime problems".  Please take a look.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-07 17:25     ` vc-version-other-window Stefan Monnier
  2004-10-07 22:51       ` vc-version-other-window Kim F. Storm
  2004-10-09  1:25       ` vc-version-other-window Richard Stallman
@ 2004-10-09  1:25       ` Richard Stallman
  2004-10-09  4:20         ` vc-version-other-window Stefan
  2 siblings, 1 reply; 14+ messages in thread
From: Richard Stallman @ 2004-10-09  1:25 UTC (permalink / raw)
  Cc: nickrob, spiegel, emacs-devel

    No.  I thought PROBLEMS was only for problems related to build/install or to
    specific systems.

There is a section for "general runtime problems".  Please take a look.

    IIUC, CVS people are working on a workaround (supposedly the problem is
    that OpenSSH behaves badly, although it's difficult to say it's a bug).

Would it be useful to release a patched version of OpenSSH?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-09  1:25       ` vc-version-other-window Richard Stallman
@ 2004-10-09  4:20         ` Stefan
  2004-10-10  4:12           ` vc-version-other-window Richard Stallman
  0 siblings, 1 reply; 14+ messages in thread
From: Stefan @ 2004-10-09  4:20 UTC (permalink / raw)
  Cc: nickrob, spiegel, emacs-devel

>     IIUC, CVS people are working on a workaround (supposedly the problem is
>     that OpenSSH behaves badly, although it's difficult to say it's a bug).

> Would it be useful to release a patched version of OpenSSH?

And what happens when they release a newer (unpatched) version one month
later with some security fix?  Forking like that is not really an option
I think.

Maybe bringing the problem more often to their attention will at some point
convince people that something's got to be fixed.  I think right now the
OpenSSH people don't consider it as a bug and think it's CVS (or libc)
that's misbehaving.  Even the CVS people don't seem so sure that the problem
is on SSH's side.

What is needed is for the glibc, cvs, and openssh people to stop
finger-pointing and to work together at coming up with a fix.


        Stefan

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-09  4:20         ` vc-version-other-window Stefan
@ 2004-10-10  4:12           ` Richard Stallman
  2004-10-10 19:38             ` vc-version-other-window Stefan
  0 siblings, 1 reply; 14+ messages in thread
From: Richard Stallman @ 2004-10-10  4:12 UTC (permalink / raw)
  Cc: nickrob, spiegel, emacs-devel

    > Would it be useful to release a patched version of OpenSSH?

    And what happens when they release a newer (unpatched) version one month
    later with some security fix?  Forking like that is not really an option
    I think.

We can certainly handle that.  We need someone reliable to do a small
amount of work occasionally when needed.

    What is needed is for the glibc, cvs, and openssh people to stop
    finger-pointing and to work together at coming up with a fix.

Last I looked, the OpenSSH developer was Theo de Raadt, who hated
the GNU Project when I first heard of him.  It is unlikely they
will listen.  However, if someone send them a fix, and it has no
practical costs, they might install it.  Are you in touch with the
relevant people; could you ask them to try to do this?
Have they already done this?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-10  4:12           ` vc-version-other-window Richard Stallman
@ 2004-10-10 19:38             ` Stefan
  2004-10-11 16:45               ` vc-version-other-window Richard Stallman
  2004-10-11 17:38               ` vc-version-other-window Simon Josefsson
  0 siblings, 2 replies; 14+ messages in thread
From: Stefan @ 2004-10-10 19:38 UTC (permalink / raw)
  Cc: nickrob, spiegel, emacs-devel

>> Would it be useful to release a patched version of OpenSSH?
>     And what happens when they release a newer (unpatched) version one month
>     later with some security fix?  Forking like that is not really an option
>     I think.

> We can certainly handle that.  We need someone reliable to do a small
> amount of work occasionally when needed.

But to be useful, we need to convince distributions to that fork
of OpenSSH.  That just doesn't seem practical.

>     What is needed is for the glibc, cvs, and openssh people to stop
>     finger-pointing and to work together at coming up with a fix.

> However, if someone send them a fix, and it has no practical costs, they
> might install it.  Are you in touch with the relevant people; could you
> ask them to try to do this?  Have they already done this?

As far as I know, the problem can be fixed at various places.  Within CVS
it's inconvenient because it requires something similar to the cvs-ssh
wrapper (but there were noises on the info-cvs list that they were maybe
going to implement such a workaround anyway).  IIRC it can be fixed in the
libc as well (IIRC the problem there is to make sure that `fwrite' on
a non-blocking file descriptor works reliably).


        Stefan

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-10 19:38             ` vc-version-other-window Stefan
@ 2004-10-11 16:45               ` Richard Stallman
  2004-10-11 17:38               ` vc-version-other-window Simon Josefsson
  1 sibling, 0 replies; 14+ messages in thread
From: Richard Stallman @ 2004-10-11 16:45 UTC (permalink / raw)
  Cc: nickrob, spiegel, emacs-devel

    But to be useful, we need to convince distributions to that fork
    of OpenSSH.

I disagree.  It would be useful simply to recommend our own version of
OpenSSH as the solution, as long as we make it easy to install.

      IIRC it can be fixed in the
    libc as well (IIRC the problem there is to make sure that `fwrite' on
    a non-blocking file descriptor works reliably).

Are the libc developers discussing this?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-10 19:38             ` vc-version-other-window Stefan
  2004-10-11 16:45               ` vc-version-other-window Richard Stallman
@ 2004-10-11 17:38               ` Simon Josefsson
  2004-10-12  2:16                 ` vc-version-other-window Miles Bader
  2004-10-12  8:57                 ` vc-version-other-window Richard Stallman
  1 sibling, 2 replies; 14+ messages in thread
From: Simon Josefsson @ 2004-10-11 17:38 UTC (permalink / raw)


Stefan <monnier@iro.umontreal.ca> writes:

>>> Would it be useful to release a patched version of OpenSSH?
>>     And what happens when they release a newer (unpatched) version one month
>>     later with some security fix?  Forking like that is not really an option
>>     I think.
>
>> We can certainly handle that.  We need someone reliable to do a small
>> amount of work occasionally when needed.
>
> But to be useful, we need to convince distributions to that fork
> of OpenSSH.  That just doesn't seem practical.

Or we could try to use the GNU implementation of SSH instead, LSH.
LSH has never had this problem, as far as I know.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-11 17:38               ` vc-version-other-window Simon Josefsson
@ 2004-10-12  2:16                 ` Miles Bader
  2004-10-12  8:57                 ` vc-version-other-window Richard Stallman
  1 sibling, 0 replies; 14+ messages in thread
From: Miles Bader @ 2004-10-12  2:16 UTC (permalink / raw)


Simon Josefsson <jas@extundo.com> writes:
> Or we could try to use the GNU implementation of SSH instead, LSH.
> LSH has never had this problem, as far as I know.

How does lsh compare with ssh in features/stability?

-Miles
-- 
P.S.  All information contained in the above letter is false,
      for reasons of military security.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: vc-version-other-window
  2004-10-11 17:38               ` vc-version-other-window Simon Josefsson
  2004-10-12  2:16                 ` vc-version-other-window Miles Bader
@ 2004-10-12  8:57                 ` Richard Stallman
  1 sibling, 0 replies; 14+ messages in thread
From: Richard Stallman @ 2004-10-12  8:57 UTC (permalink / raw)
  Cc: emacs-devel

    Or we could try to use the GNU implementation of SSH instead, LSH.
    LSH has never had this problem, as far as I know.

I used to use lsh, but we all switched to openssh, which was more
capable and was also free.  How is lsh doing?  Can someone see if
recommending lsh is a good option?

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2004-10-12  8:57 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-06 11:21 vc-version-other-window Nick Roberts
2004-10-06 13:05 ` vc-version-other-window Stefan Monnier
2004-10-07 16:44   ` vc-version-other-window Richard Stallman
2004-10-07 17:25     ` vc-version-other-window Stefan Monnier
2004-10-07 22:51       ` vc-version-other-window Kim F. Storm
2004-10-09  1:25       ` vc-version-other-window Richard Stallman
2004-10-09  1:25       ` vc-version-other-window Richard Stallman
2004-10-09  4:20         ` vc-version-other-window Stefan
2004-10-10  4:12           ` vc-version-other-window Richard Stallman
2004-10-10 19:38             ` vc-version-other-window Stefan
2004-10-11 16:45               ` vc-version-other-window Richard Stallman
2004-10-11 17:38               ` vc-version-other-window Simon Josefsson
2004-10-12  2:16                 ` vc-version-other-window Miles Bader
2004-10-12  8:57                 ` vc-version-other-window Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).