* bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file @ 2008-12-24 6:28 Daiki Ueno 2009-01-12 17:17 ` richardeng 2009-01-12 18:00 ` richardeng 0 siblings, 2 replies; 10+ messages in thread From: Daiki Ueno @ 2008-12-24 6:28 UTC (permalink / raw) To: emacs-pretest-bug Hello, Try to start Emacs with emacs -Q -nw on xterm, and then evaluate the following expression: (assq 'ttname (system-process-attributes (emacs-pid))) => (ttname . "/dev/pts17") A "/" is missing between "pts" and "17". (file-exists-p "/dev/pts17") => nil (file-exists-p "/dev/pts/17") => t If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. If you would like to further debug the crash, please read the file /usr/local/share/emacs/23.0.60/etc/DEBUG for instructions. In GNU Emacs 23.0.60.1 (i686-pc-linux-gnu, GTK+ Version 2.12.11) of 2008-12-24 on p360 Windowing system distributor `The X.Org Foundation', version 11.0.10402000 Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: ja_JP.UTF-8 value of $XMODIFIERS: @im=SCIM locale-coding-system: utf-8-unix default-enable-multibyte-characters: t Major mode: Lisp Interaction Minor modes in effect: which-function-mode: t icomplete-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t global-auto-composition-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: <escape> x r e p o r t SPC e m a <tab> b <backspace> <return> Recent messages: Loading mime-setup...done `completer' is not found. `habbrev' is not found. Loading remem...done Loading /home/ueno/.emacs/init.el (source)...done Loading /home/ueno/.emacs/custom.el (source)... Loading icomplete...done Loading which-func...done Loading /home/ueno/.emacs/custom.el (source)...done For information about GNU Emacs and the GNU system, type C-h C-a. -- Daiki Ueno ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file 2008-12-24 6:28 bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file Daiki Ueno @ 2009-01-12 17:17 ` richardeng 2009-01-12 19:19 ` Eli Zaretskii 2009-01-12 18:00 ` richardeng 1 sibling, 1 reply; 10+ messages in thread From: richardeng @ 2009-01-12 17:17 UTC (permalink / raw) To: Daiki Ueno, 1688; +Cc: emacs-pretest-bug Daiki Ueno wrote: > Hello, > > Try to start Emacs with emacs -Q -nw on xterm, and then evaluate the > following expression: > > (assq 'ttname (system-process-attributes (emacs-pid))) > => (ttname . "/dev/pts17") > > A "/" is missing between "pts" and "17". > > (file-exists-p "/dev/pts17") > => nil > (file-exists-p "/dev/pts/17") > => t > > If Emacs crashed, and you have the Emacs process in the gdb debugger, > please include the output from the following gdb commands: > `bt full' and `xbacktrace'. > If you would like to further debug the crash, please read the file > /usr/local/share/emacs/23.0.60/etc/DEBUG for instructions. > > > In GNU Emacs 23.0.60.1 (i686-pc-linux-gnu, GTK+ Version 2.12.11) > of 2008-12-24 on p360 > Windowing system distributor `The X.Org Foundation', version 11.0.10402000 > Important settings: > value of $LC_ALL: nil > value of $LC_COLLATE: nil > value of $LC_CTYPE: nil > value of $LC_MESSAGES: nil > value of $LC_MONETARY: nil > value of $LC_NUMERIC: nil > value of $LC_TIME: nil > value of $LANG: ja_JP.UTF-8 > value of $XMODIFIERS: @im=SCIM > locale-coding-system: utf-8-unix > default-enable-multibyte-characters: t > > Major mode: Lisp Interaction > > Minor modes in effect: > which-function-mode: t > icomplete-mode: t > tooltip-mode: t > mouse-wheel-mode: t > menu-bar-mode: t > file-name-shadow-mode: t > global-font-lock-mode: t > font-lock-mode: t > global-auto-composition-mode: t > auto-composition-mode: t > auto-encryption-mode: t > auto-compression-mode: t > column-number-mode: t > line-number-mode: t > transient-mark-mode: t > > Recent input: > <escape> x r e p o r t SPC e m a <tab> b <backspace> > <return> > > Recent messages: > Loading mime-setup...done > `completer' is not found. > `habbrev' is not found. > Loading remem...done > Loading /home/ueno/.emacs/init.el (source)...done > Loading /home/ueno/.emacs/custom.el (source)... > Loading icomplete...done > Loading which-func...done > Loading /home/ueno/.emacs/custom.el (source)...done > For information about GNU Emacs and the GNU system, type C-h C-a. > > --- sysdep.c.~1.328.~ 2009-01-03 07:04:59.000000000 -0800 +++ sysdep.c 2009-01-13 01:09:56.000000000 -0800 @@ -3322,7 +3322,7 @@ if (MINOR (rdev) >= minor_beg && MINOR (rdev) <= minor_end) { - sprintf (name + strlen (name), "%lu", MINOR (rdev)); + sprintf (name + strlen (name), "/%lu", MINOR (rdev)); break; } } ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file 2009-01-12 17:17 ` richardeng @ 2009-01-12 19:19 ` Eli Zaretskii 2009-01-12 21:04 ` Stefan Monnier 0 siblings, 1 reply; 10+ messages in thread From: Eli Zaretskii @ 2009-01-12 19:19 UTC (permalink / raw) To: richardeng, 1688; +Cc: emacs-pretest-bug, bug-gnu-emacs, ueno > Date: Tue, 13 Jan 2009 01:17:23 +0800 > From: richardeng <richardeng@foxmail.com> > Cc: emacs-pretest-bug@gnu.org > > --- sysdep.c.~1.328.~ 2009-01-03 07:04:59.000000000 -0800 > +++ sysdep.c 2009-01-13 01:09:56.000000000 -0800 > @@ -3322,7 +3322,7 @@ > > if (MINOR (rdev) >= minor_beg && MINOR (rdev) <= minor_end) > { > - sprintf (name + strlen (name), "%lu", MINOR (rdev)); > + sprintf (name + strlen (name), "/%lu", MINOR (rdev)); > break; > } It's not that simple: what happens if `name' is something like "ptys" or "tty"? We need to generate "ptys2" and "tty39" for them, not "ptys/2" and "tty/39". So a more complex logic is required here. Faced with this difficulty, I decided not to bother, since the value of `ttname' is not documented to return a valid file name. Perhaps some Linux guru (which I ain't) can suggest an easy solution. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file 2009-01-12 19:19 ` Eli Zaretskii @ 2009-01-12 21:04 ` Stefan Monnier 2009-01-16 10:22 ` richardeng 0 siblings, 1 reply; 10+ messages in thread From: Stefan Monnier @ 2009-01-12 21:04 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-pretest-bug, bug-gnu-emacs, ueno, 1688 >> --- sysdep.c.~1.328.~ 2009-01-03 07:04:59.000000000 -0800 >> +++ sysdep.c 2009-01-13 01:09:56.000000000 -0800 >> @@ -3322,7 +3322,7 @@ >> >> if (MINOR (rdev) >= minor_beg && MINOR (rdev) <= minor_end) >> { >> - sprintf (name + strlen (name), "%lu", MINOR (rdev)); >> + sprintf (name + strlen (name), "/%lu", MINOR (rdev)); >> break; >> } > It's not that simple: what happens if `name' is something like "ptys" > or "tty"? We need to generate "ptys2" and "tty39" for them, not > "ptys/2" and "tty/39". Indeed, it's pretty messy. Even just procfs_ttyname in itself is pretty messy (not its implementation, but the need to go through those hoops). > Faced with this difficulty, I decided not to bother, since the value > of `ttname' is not documented to return a valid file name. > Perhaps some Linux guru (which I ain't) can suggest an easy solution. I think it's OK for now. When we really need something better, we'll just look at the `ps' code. Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file 2009-01-12 21:04 ` Stefan Monnier @ 2009-01-16 10:22 ` richardeng 2009-01-16 21:00 ` Stefan Monnier 0 siblings, 1 reply; 10+ messages in thread From: richardeng @ 2009-01-16 10:22 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-pretest-bug, ueno, bug-gnu-emacs, 1688 Stefan Monnier wrote: >>> --- sysdep.c.~1.328.~ 2009-01-03 07:04:59.000000000 -0800 >>> +++ sysdep.c 2009-01-13 01:09:56.000000000 -0800 >>> @@ -3322,7 +3322,7 @@ >>> >>> if (MINOR (rdev) >= minor_beg && MINOR (rdev) <= minor_end) >>> { >>> - sprintf (name + strlen (name), "%lu", MINOR (rdev)); >>> + sprintf (name + strlen (name), "/%lu", MINOR (rdev)); >>> break; >>> } >>> >> It's not that simple: what happens if `name' is something like "ptys" >> or "tty"? We need to generate "ptys2" and "tty39" for them, not >> "ptys/2" and "tty/39". >> > > Indeed, it's pretty messy. Even just procfs_ttyname in itself is pretty > messy (not its implementation, but the need to go through those hoops). > > >> Faced with this difficulty, I decided not to bother, since the value >> of `ttname' is not documented to return a valid file name. >> > > >> Perhaps some Linux guru (which I ain't) can suggest an easy solution. >> > > I think it's OK for now. When we really need something better, we'll > just look at the `ps' code. > > > Stefan > > > check ISDIR first --- sysdep.c.~1.328.~ 2009-01-03 07:04:59.000000000 -0800 +++ sysdep.c 2009-01-15 02:03:07.000000000 -0800 @@ -3322,7 +3322,11 @@ if (MINOR (rdev) >= minor_beg && MINOR (rdev) <= minor_end) { - sprintf (name + strlen (name), "%lu", MINOR (rdev)); + struct stat st_addr; + if (!stat (name, &st_addr) && S_ISDIR(st_addr.st_mode)) + sprintf (name + strlen (name), "/%lu", MINOR (rdev)); + else + sprintf (name + strlen (name), "%lu", MINOR (rdev)); break; } } ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file 2009-01-16 10:22 ` richardeng @ 2009-01-16 21:00 ` Stefan Monnier 2009-01-17 11:51 ` richardeng 0 siblings, 1 reply; 10+ messages in thread From: Stefan Monnier @ 2009-01-16 21:00 UTC (permalink / raw) To: richardeng; +Cc: emacs-pretest-bug, ueno, bug-gnu-emacs, 1688 > check ISDIR first It's a good heursitic, but it's still just a heuristic. You may have a /dev/tty directory and still use /dev/tty1. Maybe it's better to get rid of the "/dev/" prefix to make it more clear that it's not really a valid file name. Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file 2009-01-16 21:00 ` Stefan Monnier @ 2009-01-17 11:51 ` richardeng 2009-01-18 20:57 ` Stefan Monnier 0 siblings, 1 reply; 10+ messages in thread From: richardeng @ 2009-01-17 11:51 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-pretest-bug, ueno, bug-gnu-emacs, 1688 [-- Attachment #1: Type: text/plain, Size: 519 bytes --] Stefan Monnier wrote: >> check ISDIR first >> > > It's a good heursitic, but it's still just a heuristic. > You may have a /dev/tty directory and still use /dev/tty1. > Maybe it's better to get rid of the "/dev/" prefix to make it more clear > that it's not really a valid file name. > > > Stefan > > > you mean /dev/tty1 and /dev/tty/1 will exist at the same time? It won't as I know in linux procfs_ttyname should return a full path of the ttyname, or at least one function can return the fullpath. [-- Attachment #2: Type: text/html, Size: 934 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file 2009-01-17 11:51 ` richardeng @ 2009-01-18 20:57 ` Stefan Monnier 2011-07-10 14:36 ` Lars Magne Ingebrigtsen 0 siblings, 1 reply; 10+ messages in thread From: Stefan Monnier @ 2009-01-18 20:57 UTC (permalink / raw) To: richardeng; +Cc: emacs-pretest-bug, ueno, bug-gnu-emacs, 1688 >> It's a good heursitic, but it's still just a heuristic. >> You may have a /dev/tty directory and still use /dev/tty1. >> Maybe it's better to get rid of the "/dev/" prefix to make it more clear >> that it's not really a valid file name. > you mean /dev/tty1 and /dev/tty/1 will exist at the same time? No, I mean both /dev/tty1 being the device you want and /dev/tty being a directory. Rather than ISDIR you could indeed just check which of /dev/tty1 and /dev/tty/1 exists and if only one exists then you should be pretty sure which answer is the right one. If they both exist (or if neither exists), it's much less clear what to do. > It won't as I know in Linux That depends on the dev layout chosen by the distribution/user/... I.e. it's a heuristic. > procfs_ttyname should return a full path of the ttyname, or at least > one function can return the fullpath. Why? Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file 2009-01-18 20:57 ` Stefan Monnier @ 2011-07-10 14:36 ` Lars Magne Ingebrigtsen 0 siblings, 0 replies; 10+ messages in thread From: Lars Magne Ingebrigtsen @ 2011-07-10 14:36 UTC (permalink / raw) To: 1688 I think the conclusion here was to do nothing: > I think it's OK for now. When we really need something better, we'll > just look at the `ps' code. So I'm closing the report. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog http://lars.ingebrigtsen.no/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file 2008-12-24 6:28 bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file Daiki Ueno 2009-01-12 17:17 ` richardeng @ 2009-01-12 18:00 ` richardeng 1 sibling, 0 replies; 10+ messages in thread From: richardeng @ 2009-01-12 18:00 UTC (permalink / raw) To: Daiki Ueno, 1688; +Cc: emacs-pretest-bug Daiki Ueno wrote: > Hello, > > Try to start Emacs with emacs -Q -nw on xterm, and then evaluate the > following expression: > > (assq 'ttname (system-process-attributes (emacs-pid))) > => (ttname . "/dev/pts17") > > A "/" is missing between "pts" and "17". > > (file-exists-p "/dev/pts17") > => nil > (file-exists-p "/dev/pts/17") > => t > > If Emacs crashed, and you have the Emacs process in the gdb debugger, > please include the output from the following gdb commands: > `bt full' and `xbacktrace'. > If you would like to further debug the crash, please read the file > /usr/local/share/emacs/23.0.60/etc/DEBUG for instructions. > > > In GNU Emacs 23.0.60.1 (i686-pc-linux-gnu, GTK+ Version 2.12.11) > of 2008-12-24 on p360 > Windowing system distributor `The X.Org Foundation', version 11.0.10402000 > Important settings: > value of $LC_ALL: nil > value of $LC_COLLATE: nil > value of $LC_CTYPE: nil > value of $LC_MESSAGES: nil > value of $LC_MONETARY: nil > value of $LC_NUMERIC: nil > value of $LC_TIME: nil > value of $LANG: ja_JP.UTF-8 > value of $XMODIFIERS: @im=SCIM > locale-coding-system: utf-8-unix > default-enable-multibyte-characters: t > > Major mode: Lisp Interaction > > Minor modes in effect: > which-function-mode: t > icomplete-mode: t > tooltip-mode: t > mouse-wheel-mode: t > menu-bar-mode: t > file-name-shadow-mode: t > global-font-lock-mode: t > font-lock-mode: t > global-auto-composition-mode: t > auto-composition-mode: t > auto-encryption-mode: t > auto-compression-mode: t > column-number-mode: t > line-number-mode: t > transient-mark-mode: t > > Recent input: > <escape> x r e p o r t SPC e m a <tab> b <backspace> > <return> > > Recent messages: > Loading mime-setup...done > `completer' is not found. > `habbrev' is not found. > Loading remem...done > Loading /home/ueno/.emacs/init.el (source)...done > Loading /home/ueno/.emacs/custom.el (source)... > Loading icomplete...done > Loading which-func...done > Loading /home/ueno/.emacs/custom.el (source)...done > For information about GNU Emacs and the GNU system, type C-h C-a. > > send again, "plain text only" has format problem... --- sysdep.c.~1.328.~ 2009-01-03 07:04:59.000000000 -0800 +++ sysdep.c 2009-01-13 01:09:56.000000000 -0800 @@ -3322,7 +3322,7 @@ if (MINOR (rdev) >= minor_beg && MINOR (rdev) <= minor_end) { - sprintf (name + strlen (name), "%lu", MINOR (rdev)); + sprintf (name + strlen (name), "/%lu", MINOR (rdev)); break; } } ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2011-07-10 14:36 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-12-24 6:28 bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file Daiki Ueno 2009-01-12 17:17 ` richardeng 2009-01-12 19:19 ` Eli Zaretskii 2009-01-12 21:04 ` Stefan Monnier 2009-01-16 10:22 ` richardeng 2009-01-16 21:00 ` Stefan Monnier 2009-01-17 11:51 ` richardeng 2009-01-18 20:57 ` Stefan Monnier 2011-07-10 14:36 ` Lars Magne Ingebrigtsen 2009-01-12 18:00 ` richardeng
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.