* typo in accept-process-output (process.c) @ 2007-08-05 12:04 Dieter Wilhelm 2007-08-05 12:21 ` David Kastrup 0 siblings, 1 reply; 32+ messages in thread From: Dieter Wilhelm @ 2007-08-05 12:04 UTC (permalink / raw) To: emacs-devel Hi There's a typo in Emacs 22.1 (still there in EMACS_22_BASE). Is it OK when I post typos here or should I do it with a bug report? Index: process.c =================================================================== --- process.c (revision 7) +++ process.c (working copy) @@ -3920,7 +3920,7 @@ If optional fourth arg JUST-THIS-ONE is non-nil, only accept output from PROCESS, suspending reading output from other processes. If JUST-THIS-ONE is an integer, don't run any timers either. -Return non-nil iff we received any output before the timeout expired. */) +Return non-nil if we received any output before the timeout expired. */) (process, seconds, millisec, just_this_one) register Lisp_Object process, seconds, millisec, just_this_one; { -- Best wishes H. Dieter Wilhelm Darmstadt, Germany ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-05 12:04 typo in accept-process-output (process.c) Dieter Wilhelm @ 2007-08-05 12:21 ` David Kastrup 2007-08-05 20:01 ` Glenn Morris 2007-08-05 20:54 ` Richard Stallman 0 siblings, 2 replies; 32+ messages in thread From: David Kastrup @ 2007-08-05 12:21 UTC (permalink / raw) To: Dieter Wilhelm; +Cc: emacs-devel Dieter Wilhelm <dieter@duenenhof-wilhelm.de> writes: > Hi > > There's a typo in Emacs 22.1 (still there in EMACS_22_BASE). Is it OK > when I post typos here or should I do it with a bug report? > > Index: process.c > =================================================================== > --- process.c (revision 7) > +++ process.c (working copy) > @@ -3920,7 +3920,7 @@ > If optional fourth arg JUST-THIS-ONE is non-nil, only accept output > from PROCESS, suspending reading output from other processes. > If JUST-THIS-ONE is an integer, don't run any timers either. > -Return non-nil iff we received any output before the timeout expired. */) > +Return non-nil if we received any output before the timeout expired. */) > (process, seconds, millisec, just_this_one) > register Lisp_Object process, seconds, millisec, just_this_one; That is not a typo. >From The Free On-line Dictionary of Computing (27 SEP 03) [foldoc]: iff <mathematics, logic> if and only if, i.e. necessary and sufficient. For example, two figures are {congruent} iff one can be placed over the other so that they coincide. (2002-12-28) -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-05 12:21 ` David Kastrup @ 2007-08-05 20:01 ` Glenn Morris 2007-08-05 22:54 ` Dieter Wilhelm 2007-08-06 14:19 ` Richard Stallman 2007-08-05 20:54 ` Richard Stallman 1 sibling, 2 replies; 32+ messages in thread From: Glenn Morris @ 2007-08-05 20:01 UTC (permalink / raw) To: David Kastrup; +Cc: Dieter Wilhelm, emacs-devel David Kastrup wrote: >> -Return non-nil iff we received any output before the timeout expired. */) >> +Return non-nil if we received any output before the timeout expired. */) >> (process, seconds, millisec, just_this_one) >> register Lisp_Object process, seconds, millisec, just_this_one; > > That is not a typo. It is, however, a deprecated usage that consistently confuses people, exactly as it has done here. This motivates me to tackle the TODO item to get rid of the "iff"s. So the job only has to be done once, what replacement will people be happy with? Personally, I think plain "if" would be just fine, except perhaps to the tediously literal-minded. Failing that, "only if". As a last resort, "if and only if" (yuck). ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-05 20:01 ` Glenn Morris @ 2007-08-05 22:54 ` Dieter Wilhelm 2007-08-06 0:06 ` Nick Roberts 2007-08-06 14:19 ` Richard Stallman 1 sibling, 1 reply; 32+ messages in thread From: Dieter Wilhelm @ 2007-08-05 22:54 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel Glenn Morris <rgm@gnu.org> writes: > David Kastrup wrote: >> That is not a typo. > > It is, however, a deprecated usage that consistently confuses people, > exactly as it has done here. But on the other hand I really love to be taught by Emacs ;-) > This motivates me to tackle the TODO item to get rid of the "iff"s. Interesting enough this seems to affect only 28 .c and no .el files: dieter@debby:/usr/local/emacs-22.1$ find -name \*el -or -name \*.c -exec grep -l "\<iff\>" {} \; ./src/category.c ./src/intervals.c ./src/casetab.c ./src/fileio.c ./src/process.c ./src/lread.c ./src/editfns.c ./src/getloadavg.c ./src/regex.c ./src/dired.c ./src/msdos.c ./src/keyboard.c ./src/w32term.c ./src/callproc.c ./src/fontset.c ./src/window.c ./src/indent.c ./src/keymap.c ./src/ccl.c ./src/xdisp.c ./src/textprop.c ./src/xterm.c ./src/search.c ./src/macterm.c ./src/charset.c ./src/eval.c ./lib-src/etags.c > -- Best wishes H. Dieter Wilhelm Darmstadt, Germany ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-05 22:54 ` Dieter Wilhelm @ 2007-08-06 0:06 ` Nick Roberts 2007-08-06 6:41 ` Dieter Wilhelm 0 siblings, 1 reply; 32+ messages in thread From: Nick Roberts @ 2007-08-06 0:06 UTC (permalink / raw) To: Dieter Wilhelm; +Cc: Glenn Morris, emacs-devel > Interesting enough this seems to affect only 28 .c and no .el files: > dieter@debby:/usr/local/emacs-22.1$ find -name \*el -or -name \*.c -exec grep -l "\<iff\>" {} \; >... Hmm, that would make things easier if it were true (I can find 108): find -name \*el -exec grep -l "\<iff\>" {} \; ./leim/quail/latin-ltx.el ./leim/quail/sgml-input.el ./leim/quail/vntelex.el ./lisp/wid-edit.el ./lisp/strokes.el ./lisp/iswitchb.el ./lisp/image.el ./lisp/term.el ./lisp/ediff-diff.el ./lisp/gnus/gnus-async.el ./lisp/gnus/mailcap.el ./lisp/gnus/gmm-utils.el ./lisp/gnus/gnus-msg.el ./lisp/gnus/gnus-uu.el ./lisp/gnus/imap.el ./lisp/gnus/gnus-util.el ./lisp/gnus/nnimap.el ./lisp/gnus/gnus-score.el ./lisp/userlock.el ./lisp/net/tramp.el ./lisp/files.el ./lisp/whitespace.el ./lisp/custom.el ./lisp/simple.el ./lisp/term/tvi970.el ./lisp/term/sun-mouse.el ./lisp/window.el ./lisp/eshell/em-smart.el ./lisp/allout.el ./lisp/skeleton.el ./lisp/obsolete/fast-lock.el ./lisp/xt-mouse.el ./lisp/abbrev.el ./lisp/frame.el ./lisp/erc/erc.el ./lisp/erc/erc-log.el ./lisp/printing.el ./lisp/icomplete.el ./lisp/dired-aux.el ./lisp/view.el ./lisp/url/url-auth.el ./lisp/url/url-dav.el ./lisp/url/url-cache.el ./lisp/url/url-file.el ./lisp/url/vc-dav.el ./lisp/autorevert.el ./lisp/loaddefs.el ./lisp/t-mouse.el ./lisp/shadowfile.el ./lisp/ldefs-boot.el ./lisp/emacs-lisp/rx.el ./lisp/emacs-lisp/easymenu.el ./lisp/emacs-lisp/advice.el ./lisp/emacs-lisp/checkdoc.el ./lisp/emacs-lisp/byte-opt.el ./lisp/emacs-lisp/unsafep.el ./lisp/emacs-lisp/autoload.el ./lisp/mh-e/mh-loaddefs.el ./lisp/mh-e/mh-show.el ./lisp/mh-e/mh-letter.el ./lisp/mh-e/mh-folder.el ./lisp/font-lock.el ./lisp/winner.el ./lisp/mail/rmail.el ./lisp/mail/mspools.el ./lisp/bindings.el ./lisp/info-look.el ./lisp/textmodes/sgml-mode.el ./lisp/textmodes/nroff-mode.el ./lisp/textmodes/reftex-global.el ./lisp/textmodes/two-column.el ./lisp/textmodes/artist.el ./lisp/textmodes/flyspell.el ./lisp/textmodes/ispell.el ./lisp/textmodes/refill.el ./lisp/double.el ./lisp/ibuf-ext.el ./lisp/ibuffer.el ./lisp/log-edit.el ./lisp/progmodes/gudmi.el ./lisp/progmodes/antlr-mode.el ./lisp/progmodes/gdb-ui.el ./lisp/progmodes/hideshow.el ./lisp/progmodes/cperl-mode.el ./lisp/progmodes/fortran.el ./lisp/progmodes/python.el ./lisp/progmodes/xscheme.el ./lisp/progmodes/cc-awk.el ./lisp/progmodes/cc-engine.el ./lisp/progmodes/cc-vars.el ./lisp/progmodes/which-func.el ./lisp/progmodes/etags.el ./lisp/progmodes/cpp.el ./lisp/progmodes/meta-mode.el ./lisp/progmodes/octave-mod.el ./lisp/progmodes/gud.el ./lisp/ido.el ./lisp/isearch.el ./lisp/expand.el ./lisp/select.el ./lisp/diff.el ./lisp/hilit-chg.el ./lisp/imenu.el ./lisp/international/ja-dic-cnv.el ./lisp/international/mule-cmds.el ./lisp/international/latin1-disp.el ./lisp/international/quail.el ./lisp/vc.el -- Nick http://www.inet.net.nz/~nickrob ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-06 0:06 ` Nick Roberts @ 2007-08-06 6:41 ` Dieter Wilhelm 0 siblings, 0 replies; 32+ messages in thread From: Dieter Wilhelm @ 2007-08-06 6:41 UTC (permalink / raw) To: Nick Roberts; +Cc: Glenn Morris, emacs-devel Nick Roberts <nickrob@snap.net.nz> writes: > > Interesting enough this seems to affect only 28 .c and no .el files: > > > dieter@debby:/usr/local/emacs-22.1$ find -name \*el -or -name \*.c -exec grep -l "\<iff\>" {} \; > > >... > > Hmm, that would make things easier if it were true (I can find 108): > > find -name \*el -exec grep -l "\<iff\>" {} \; > ... Your are right, I haven't used find properly, I think the following should do: dieter@debby:/usr/local/emacs-22.1$ find \( -name \*.el -or -name \*.c \) -exec grep -l "\<iff\>" {} \; Thanks! -- Best wishes H. Dieter Wilhelm Darmstadt, Germany ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-05 20:01 ` Glenn Morris 2007-08-05 22:54 ` Dieter Wilhelm @ 2007-08-06 14:19 ` Richard Stallman 2007-08-06 20:50 ` Michael Olson 1 sibling, 1 reply; 32+ messages in thread From: Richard Stallman @ 2007-08-06 14:19 UTC (permalink / raw) To: Glenn Morris; +Cc: dieter, emacs-devel So the job only has to be done once, what replacement will people be happy with? Personally, I think plain "if" would be just fine, except perhaps to the tediously literal-minded. In some cases, just "if" is clear. Failing that, "only if". As a last resort, "if and only if" (yuck). Where just "if" is not clear, you need to get creative. Find a rewrite which is clear. "If and only if" is ok when you need it, but since it is a bit longer, you might look for a better method. ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-06 14:19 ` Richard Stallman @ 2007-08-06 20:50 ` Michael Olson 2007-08-07 11:02 ` Stephen Berman 2007-08-07 11:31 ` Jason Rumney 0 siblings, 2 replies; 32+ messages in thread From: Michael Olson @ 2007-08-06 20:50 UTC (permalink / raw) To: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 1093 bytes --] Richard Stallman <rms@gnu.org> writes: > So the job only has to be done once, what replacement will people > be happy with? Personally, I think plain "if" would be just fine, > except perhaps to the tediously literal-minded. > > In some cases, just "if" is clear. > > Failing that, "only if". As a last resort, "if and only if" > (yuck). > > Where just "if" is not clear, you need to get creative. Find a > rewrite which is clear. "If and only if" is ok when you need it, but > since it is a bit longer, you might look for a better method. The conditionals "only if" and "if" are both unidirectional, whereas "if and only if" is bidirectional. If you want to preserve the logic, it is best to change "iff" to "if and only if". It's not nearly as gross as changing the meaning would be. -- Michael Olson -- FSF Associate Member #652 | http://mwolson.org/ -- Jabber: mwolson_at_hcoop.net | /` |\ | | | Sysadmin -- Hobbies: Lisp, GP2X, HCoop | |_] | \| |_| Projects: Emacs, Muse, ERC, EMMS, ErBot, DVC, Planner | [-- Attachment #1.2: Type: application/pgp-signature, Size: 188 bytes --] [-- Attachment #2: Type: text/plain, Size: 142 bytes --] _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-06 20:50 ` Michael Olson @ 2007-08-07 11:02 ` Stephen Berman 2007-08-07 11:18 ` David Kastrup 2007-08-07 11:31 ` Jason Rumney 1 sibling, 1 reply; 32+ messages in thread From: Stephen Berman @ 2007-08-07 11:02 UTC (permalink / raw) To: emacs-devel On Mon, 06 Aug 2007 16:50:45 -0400 Michael Olson <mwolson@gnu.org> wrote: > Richard Stallman <rms@gnu.org> writes: > >> So the job only has to be done once, what replacement will people >> be happy with? Personally, I think plain "if" would be just fine, >> except perhaps to the tediously literal-minded. >> >> In some cases, just "if" is clear. >> >> Failing that, "only if". As a last resort, "if and only if" >> (yuck). >> >> Where just "if" is not clear, you need to get creative. Find a >> rewrite which is clear. "If and only if" is ok when you need it, but >> since it is a bit longer, you might look for a better method. > > The conditionals "only if" and "if" are both unidirectional, whereas "if > and only if" is bidirectional. If you want to preserve the logic, it is > best to change "iff" to "if and only if". It's not nearly as gross as > changing the meaning would be. The logic textbook by Kalish and Montague uses "`exactly on condition that', and sometimes `just in case', as stylistic variants of `if and only if'." Steve Berman ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-07 11:02 ` Stephen Berman @ 2007-08-07 11:18 ` David Kastrup 0 siblings, 0 replies; 32+ messages in thread From: David Kastrup @ 2007-08-07 11:18 UTC (permalink / raw) To: Stephen Berman; +Cc: emacs-devel Stephen Berman <Stephen.Berman@gmx.net> writes: > On Mon, 06 Aug 2007 16:50:45 -0400 Michael Olson <mwolson@gnu.org> wrote: > >> Richard Stallman <rms@gnu.org> writes: >> >>> So the job only has to be done once, what replacement will people >>> be happy with? Personally, I think plain "if" would be just fine, >>> except perhaps to the tediously literal-minded. >>> >>> In some cases, just "if" is clear. >>> >>> Failing that, "only if". As a last resort, "if and only if" >>> (yuck). >>> >>> Where just "if" is not clear, you need to get creative. Find a >>> rewrite which is clear. "If and only if" is ok when you need it, but >>> since it is a bit longer, you might look for a better method. >> >> The conditionals "only if" and "if" are both unidirectional, whereas "if >> and only if" is bidirectional. If you want to preserve the logic, it is >> best to change "iff" to "if and only if". It's not nearly as gross as >> changing the meaning would be. > > The logic textbook by Kalish and Montague uses "`exactly on condition > that', and sometimes `just in case', as stylistic variants of `if and > only if'." "just in case" is pretty much the worst replacement since it has a well-established colloquial meaning of "as a precaution against the improbable event of". -- David Kastrup ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-06 20:50 ` Michael Olson 2007-08-07 11:02 ` Stephen Berman @ 2007-08-07 11:31 ` Jason Rumney 2007-08-07 16:37 ` Stefan Monnier 1 sibling, 1 reply; 32+ messages in thread From: Jason Rumney @ 2007-08-07 11:31 UTC (permalink / raw) To: Michael Olson; +Cc: emacs-devel Michael Olson wrote: > The conditionals "only if" and "if" are both unidirectional, whereas "if > and only if" is bidirectional. If you want to preserve the logic, it is > best to change "iff" to "if and only if". It's not nearly as gross as > changing the meaning would be. > I think the logic can be preserved by changing iff to "if", and for any instances of "if" that do not mean "iff", there should be some wording like "... may be ... if ... " to indicate that there is not a bidirectional correspondence. In general, bidirectionality is assumed by most speakers of English (as opposed to mathematical logic) for a bare "if". ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-07 11:31 ` Jason Rumney @ 2007-08-07 16:37 ` Stefan Monnier 2007-08-07 17:33 ` Drew Adams 0 siblings, 1 reply; 32+ messages in thread From: Stefan Monnier @ 2007-08-07 16:37 UTC (permalink / raw) To: Jason Rumney; +Cc: Michael Olson, emacs-devel >> The conditionals "only if" and "if" are both unidirectional, whereas "if >> and only if" is bidirectional. If you want to preserve the logic, it is >> best to change "iff" to "if and only if". It's not nearly as gross as >> changing the meaning would be. > I think the logic can be preserved by changing iff to "if", and for any > instances of "if" that do not mean "iff", there should be some wording > like "... may be ... if ... " to indicate that there is not a > bidirectional correspondence. > In general, bidirectionality is assumed by most speakers of English (as > opposed to mathematical logic) for a bare "if". I think a better approach is to keep using `iff' (also known as `ssi' in French), but to make it such that the user can click on it to get to the Glossary where we add an entry for it. We could later on use the same feature for some other terms (e.g. "fringe"). Stefan ^ permalink raw reply [flat|nested] 32+ messages in thread
* RE: typo in accept-process-output (process.c) 2007-08-07 16:37 ` Stefan Monnier @ 2007-08-07 17:33 ` Drew Adams 2007-08-07 22:01 ` Dieter Wilhelm 0 siblings, 1 reply; 32+ messages in thread From: Drew Adams @ 2007-08-07 17:33 UTC (permalink / raw) To: emacs-devel > I think a better approach is to keep using `iff' (also known as `ssi' in > French), but to make it such that the user can click on it to get to the > Glossary where we add an entry for it. > We could later on use the same feature for some other terms (e.g. > "fringe"). I agree. It is better to avoid varying the terminology for things like this - using different terms for the same thing in different places (e.g. by different authors). It is best to use a term such as "iff" consistently, and define it clearly. The meaning of "if" can vary in informal English, and different people sometimes understand it differently. In more formal use, these are often used as synonyms: "A implies B", "if A then B", "A only if B", "B if A", "B whenever A", and "B provided A". And these are used as synonyms: "A if and only if B", and "A is equivalent to B". The problem with using "iff" is that some readers will not notice that it is not "if", or they might think that it is a typo. If we use "iff" as Stefan suggested, then it is important that users have a _visual_ clue that this is a glossary term and that they can click it to see its definition. That visual clue would be enough to signal that this is not just "if" or a typo. Until we have such a glossary-term indicator, we should use "if and only if" (or we could temporarily take the risk of misunderstanding and use "iff"). It is not appropriate for us to use "if" (or "only if") in place of "iff", when the meaning of the latter is important to the context. This is so, in spite of the fact that, as Jason pointed out, many readers assume bidirectionality for "if"; that is, they do not distinguish "if" from "if and only if". In some cases, of course, the "if" direction is of primary importance, and the "only if" case can be ignored or glossed over in the doc. That is, when it makes little difference whether readers confuse "if" with "iff", we could get away with using just "if". Still, in general it is better to clearly state what happens in each case or, if they are equivalent, to use "iff" (or "if and only if"). Because careful use of such terms can result in language that is more like a spec than doc, it is sometimes helpful and appropriate to use both a short, introductory, informal, easy-to-read description and a more rigorous, detailed explanation. Those who are interested will take the time to parse the latter, and the others will generally understand enough to get the job done. ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-07 17:33 ` Drew Adams @ 2007-08-07 22:01 ` Dieter Wilhelm 2007-08-07 22:17 ` Lennart Borgman (gmail) 2007-08-08 3:06 ` Eli Zaretskii 0 siblings, 2 replies; 32+ messages in thread From: Dieter Wilhelm @ 2007-08-07 22:01 UTC (permalink / raw) To: Drew Adams; +Cc: emacs-devel "Drew Adams" <drew.adams@oracle.com> writes: >> I think a better approach is to keep using `iff' (also known as `ssi' in >> French), but to make it such that the user can click on it to get to the >> Glossary where we add an entry for it. >> We could later on use the same feature for some other terms (e.g. >> "fringe"). > > The problem with using "iff" is that some readers will not notice that it is > not "if", or they might think that it is a typo. If we use "iff" as Stefan > suggested, then it is important that users have a _visual_ clue that this is > a glossary term and that they can click it to see its definition. That > visual clue would be enough to signal that this is not just "if" or a typo. A glossary with hyperlinks was planned for Emacs? Great stuff, but I can't find it either in the TODO List nor in the etc/NEWS file. -- Best wishes H. Dieter Wilhelm Darmstadt, Germany ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-07 22:01 ` Dieter Wilhelm @ 2007-08-07 22:17 ` Lennart Borgman (gmail) 2007-08-07 23:16 ` Drew Adams 2007-08-09 0:07 ` Richard Stallman 2007-08-08 3:06 ` Eli Zaretskii 1 sibling, 2 replies; 32+ messages in thread From: Lennart Borgman (gmail) @ 2007-08-07 22:17 UTC (permalink / raw) Cc: emacs-devel >>> I think a better approach is to keep using `iff' (also known as `ssi' in >>> French), but to make it such that the user can click on it to get to the >>> Glossary where we add an entry for it. >>> We could later on use the same feature for some other terms (e.g. >>> "fringe"). >> The problem with using "iff" is that some readers will not notice that it is >> not "if", or they might think that it is a typo. If we use "iff" as Stefan >> suggested, then it is important that users have a _visual_ clue that this is >> a glossary term and that they can click it to see its definition. That >> visual clue would be enough to signal that this is not just "if" or a typo. Just a thought: Is there any other (non-math and non-logical) software that uses iff in the documentation? ^ permalink raw reply [flat|nested] 32+ messages in thread
* RE: typo in accept-process-output (process.c) 2007-08-07 22:17 ` Lennart Borgman (gmail) @ 2007-08-07 23:16 ` Drew Adams 2007-08-08 0:06 ` Jason Rumney 2007-08-09 0:07 ` Richard Stallman 1 sibling, 1 reply; 32+ messages in thread From: Drew Adams @ 2007-08-07 23:16 UTC (permalink / raw) To: emacs-devel > Just a thought: Is there any other (non-math and non-logical) software > that uses iff in the documentation? Of course. (Some of the results of googling `iff software documentation' are examples.) Also, the Emacs user community includes mostly developers so far, and many of them produce software, specs, and documentation that are aimed at other developers. My guess is that many (most?) Emacs users will already be familiar with "iff", but I could be wrong about that. On the other hand, I see no special reason to use "iff" when "if and only if" can be used instead. It could argued that "iff" can be handy for the first line of a doc string, where space is at a premium, but in most cases such rigor is not needed in that first line. And of course there is no hyperlinked glossary for doc strings (either). Overall, I'd say we don't need to use "iff". In any case, we should not substitute "if" for "if and only if" in contexts where the distinction is important. If we had glossary links with visual cues, then it could be OK to use "iff", but I see no real reason not to always use "if and only if" instead. It can be OK to use just "if" informally, at first (say in a doc string first line), provided that the rest of the text tells the whole truth, and provided that doing so improves readability (e.g. by sounding less formal). Rules of thumb: 1. Use "if A then B" or "A implies B" for implication. These are generally clearer to readers than the equivalents "B if A" and "A only if B". 2. Use "if and only if" for logical equivalence, not "if". (Even though "A if B" and "A only if B" can confuse readers about the direction, there is no such problem when both directions are meant.) ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-07 23:16 ` Drew Adams @ 2007-08-08 0:06 ` Jason Rumney 2007-08-08 0:21 ` Drew Adams 0 siblings, 1 reply; 32+ messages in thread From: Jason Rumney @ 2007-08-08 0:06 UTC (permalink / raw) To: Drew Adams; +Cc: emacs-devel Drew Adams wrote: > Also, the Emacs user community includes mostly developers so far, and many > of them produce software, specs, and documentation that are aimed at other > developers. My guess is that many (most?) Emacs users will already be > familiar with "iff", but I could be wrong about that. > Many may be familiar, but many are also not familiar, even developers. I had never encountered the term until the original bug report a few months ago. I suspect it is seldom encountered outside of the field of computer science and certain branches of mathematics and philosophy. ^ permalink raw reply [flat|nested] 32+ messages in thread
* RE: typo in accept-process-output (process.c) 2007-08-08 0:06 ` Jason Rumney @ 2007-08-08 0:21 ` Drew Adams 0 siblings, 0 replies; 32+ messages in thread From: Drew Adams @ 2007-08-08 0:21 UTC (permalink / raw) To: Jason Rumney; +Cc: emacs-devel > > Also, the Emacs user community includes mostly developers so > > far, and many of them produce software, specs, and documentation > > that are aimed at other developers. My guess is that many > > (most?) Emacs users will already be > > familiar with "iff", but I could be wrong about that. > > Many may be familiar, but many are also not familiar, even developers. I > had never encountered the term until the original bug report a few > months ago. I suspect it is seldom encountered outside of the field of > computer science and certain branches of mathematics and philosophy. All the more reason to use "if and only if" rather than "iff". ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-07 22:17 ` Lennart Borgman (gmail) 2007-08-07 23:16 ` Drew Adams @ 2007-08-09 0:07 ` Richard Stallman 1 sibling, 0 replies; 32+ messages in thread From: Richard Stallman @ 2007-08-09 0:07 UTC (permalink / raw) To: Lennart Borgman (gmail); +Cc: emacs-devel I do not think that a visible glossary indication is a good substitute for words that are clear. ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-07 22:01 ` Dieter Wilhelm 2007-08-07 22:17 ` Lennart Borgman (gmail) @ 2007-08-08 3:06 ` Eli Zaretskii 2007-08-08 5:50 ` Dieter Wilhelm 1 sibling, 1 reply; 32+ messages in thread From: Eli Zaretskii @ 2007-08-08 3:06 UTC (permalink / raw) To: Dieter Wilhelm; +Cc: drew.adams, emacs-devel > From: Dieter Wilhelm <dieter@duenenhof-wilhelm.de> > Date: Wed, 08 Aug 2007 00:01:22 +0200 > Cc: emacs-devel@gnu.org > > A glossary with hyperlinks was planned for Emacs? Great stuff, but I > can't find it either in the TODO List nor in the etc/NEWS file. There's already a Glossary node in the manual, has been there since time immemoriam. Is that what you want? ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-08 3:06 ` Eli Zaretskii @ 2007-08-08 5:50 ` Dieter Wilhelm 2007-08-08 18:43 ` Eli Zaretskii 0 siblings, 1 reply; 32+ messages in thread From: Dieter Wilhelm @ 2007-08-08 5:50 UTC (permalink / raw) To: Eli Zaretskii; +Cc: drew.adams, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Dieter Wilhelm <dieter@duenenhof-wilhelm.de> >> Date: Wed, 08 Aug 2007 00:01:22 +0200 >> Cc: emacs-devel@gnu.org >> >> A glossary with hyperlinks was planned for Emacs? Great stuff, but I >> can't find it either in the TODO List nor in the etc/NEWS file. > > There's already a Glossary node in the manual, has been there since > time immemoriam. Is that what you want? Not quite, since it is of little use when one does not expect the term in it. The idea of S. Monnier and D. Adams with the visual hint is what is exciting about. I'm coming from an engineering background and never encountered "iff" before. By the way, it is even indicated by aspell (british) as a typo. With a visual hint to the Glossary Emacs would be even more educational. -- Best wishes H. Dieter Wilhelm Darmstadt, Germany ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-08 5:50 ` Dieter Wilhelm @ 2007-08-08 18:43 ` Eli Zaretskii 2007-08-08 20:14 ` David Kastrup ` (2 more replies) 0 siblings, 3 replies; 32+ messages in thread From: Eli Zaretskii @ 2007-08-08 18:43 UTC (permalink / raw) To: Dieter Wilhelm; +Cc: drew.adams, emacs-devel > Cc: drew.adams@oracle.com, emacs-devel@gnu.org > From: Dieter Wilhelm <dieter@duenenhof-wilhelm.de> > Date: Wed, 08 Aug 2007 07:50:52 +0200 > > > There's already a Glossary node in the manual, has been there since > > time immemoriam. Is that what you want? > > Not quite, since it is of little use when one does not expect the term > in it. You should expect any Emacs related terminology to be in the Glossary node. I think you will find that it lives up to this expectation very well, even for terms such as "iff" that are not Emacs-specific. ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-08 18:43 ` Eli Zaretskii @ 2007-08-08 20:14 ` David Kastrup 2007-08-08 20:24 ` Stefan Monnier 2007-08-12 20:33 ` Christian Schlauer 2 siblings, 0 replies; 32+ messages in thread From: David Kastrup @ 2007-08-08 20:14 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Dieter Wilhelm, drew.adams, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Cc: drew.adams@oracle.com, emacs-devel@gnu.org >> From: Dieter Wilhelm <dieter@duenenhof-wilhelm.de> >> Date: Wed, 08 Aug 2007 07:50:52 +0200 >> >> > There's already a Glossary node in the manual, has been there since >> > time immemoriam. Is that what you want? >> >> Not quite, since it is of little use when one does not expect the term >> in it. > > You should expect any Emacs related terminology to be in the > Glossary node. I think you will find that it lives up to this > expectation very well, even for terms such as "iff" that are not > Emacs-specific. It does not merely live up to this expectation, but surpasses it by far. Which is actually the problem. What can we do to make people _expect_ the explanation to be in the glossary? The hyperlink suggestion was one way to achieve just that. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-08 18:43 ` Eli Zaretskii 2007-08-08 20:14 ` David Kastrup @ 2007-08-08 20:24 ` Stefan Monnier 2007-08-08 20:27 ` martin rudalics 2007-08-12 20:33 ` Christian Schlauer 2 siblings, 1 reply; 32+ messages in thread From: Stefan Monnier @ 2007-08-08 20:24 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Dieter Wilhelm, drew.adams, emacs-devel > You should expect any Emacs related terminology to be in the Glossary > node. I think you will find that it lives up to this expectation very > well, even for terms such as "iff" that are not Emacs-specific. Actually "iff" is not there. Stefan ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-08 20:24 ` Stefan Monnier @ 2007-08-08 20:27 ` martin rudalics 2007-08-08 20:53 ` Stefan Monnier 0 siblings, 1 reply; 32+ messages in thread From: martin rudalics @ 2007-08-08 20:27 UTC (permalink / raw) To: Stefan Monnier; +Cc: Dieter Wilhelm, Eli Zaretskii, drew.adams, emacs-devel > Actually "iff" is not there. Iff "Iff" means "if and only if." This terminology comes from mathematics. ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-08 20:27 ` martin rudalics @ 2007-08-08 20:53 ` Stefan Monnier 0 siblings, 0 replies; 32+ messages in thread From: Stefan Monnier @ 2007-08-08 20:53 UTC (permalink / raw) To: martin rudalics; +Cc: Dieter Wilhelm, Eli Zaretskii, drew.adams, emacs-devel >> Actually "iff" is not there. > Iff > "Iff" means "if and only if." This terminology comes from > mathematics. Hmm... indeed... sorry 'bout that. And thanks for pointing out a bug in my Makefile (which doesn't update the `info' subdir since a while ago, apparently, so I was looking at an out-of-date version). Stefan ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-08 18:43 ` Eli Zaretskii 2007-08-08 20:14 ` David Kastrup 2007-08-08 20:24 ` Stefan Monnier @ 2007-08-12 20:33 ` Christian Schlauer 2007-08-12 22:01 ` Stephen Berman 2007-08-13 5:00 ` Richard Stallman 2 siblings, 2 replies; 32+ messages in thread From: Christian Schlauer @ 2007-08-12 20:33 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Cc: drew.adams@oracle.com, emacs-devel@gnu.org >> From: Dieter Wilhelm <dieter@duenenhof-wilhelm.de> >> Date: Wed, 08 Aug 2007 07:50:52 +0200 >> >> > There's already a Glossary node in the manual, has been there since >> > time immemoriam. Is that what you want? >> >> Not quite, since it is of little use when one does not expect the term >> in it. > > You should expect any Emacs related terminology to be in the Glossary > node. I think you will find that it lives up to this expectation very > well, even for terms such as "iff" that are not Emacs-specific. Why isn't there an index entry for the Glossary? I tried to find it by doing C-h i d m Emacs RET i gloss TAB gives [No match]. So the only way (known to me) to find it seems to be C-h i d m Emacs RET m gloss TAB which is inconvenient when I'm somewhere deep down in the Emacs manual and would like to get to the Glossary quickly. (Admittedly, it is the 5th entry in the menu in (info "(emacs)Top"), so I should have found it. But nevertheless I overlooked it as it is placed between menu entries like `Copying', `GNU Free Documentation License', `Antinews', `Manifesto', `Acknowledgements' -- I think I had found the glossary if it had been under the "heading" (if that is the right word) `Indexes (each index contains a large menu)' or `Important General Concepts'.) Also, what about * Glossary:: Emacs terminology used in this manual, explained. instead of * Glossary:: The glossary. -- Christian Schlauer ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-12 20:33 ` Christian Schlauer @ 2007-08-12 22:01 ` Stephen Berman 2007-08-13 5:00 ` Richard Stallman 1 sibling, 0 replies; 32+ messages in thread From: Stephen Berman @ 2007-08-12 22:01 UTC (permalink / raw) To: emacs-devel On Sun, 12 Aug 2007 22:33:04 +0200 Christian Schlauer <cs-muelleimer-rubbish.bin@arcor.de> wrote: > Why isn't there an index entry for the Glossary? I tried to find it by > doing > > C-h i d m Emacs RET i gloss TAB > > gives [No match]. So the only way (known to me) to find it seems to be > > C-h i d m Emacs RET m gloss TAB > > which is inconvenient when I'm somewhere deep down in the Emacs manual > and would like to get to the Glossary quickly. If you type `g glo TAB' you'll see Glossary listed as the second item in the *Completions* buffer. Steve Berman ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-12 20:33 ` Christian Schlauer 2007-08-12 22:01 ` Stephen Berman @ 2007-08-13 5:00 ` Richard Stallman 1 sibling, 0 replies; 32+ messages in thread From: Richard Stallman @ 2007-08-13 5:00 UTC (permalink / raw) To: cs-usenet; +Cc: emacs-devel I will improve the menu entry for the glossary. Thanks. ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-05 12:21 ` David Kastrup 2007-08-05 20:01 ` Glenn Morris @ 2007-08-05 20:54 ` Richard Stallman 2007-08-08 7:54 ` Glenn Morris 1 sibling, 1 reply; 32+ messages in thread From: Richard Stallman @ 2007-08-05 20:54 UTC (permalink / raw) To: David Kastrup; +Cc: dieter, emacs-devel We decided some months ago to get rid of "iff" from Emacs doc strings because quite a number of users are unfamiliar with it. Would someone like to carry this out? ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-05 20:54 ` Richard Stallman @ 2007-08-08 7:54 ` Glenn Morris 2007-08-09 0:07 ` Richard Stallman 0 siblings, 1 reply; 32+ messages in thread From: Glenn Morris @ 2007-08-08 7:54 UTC (permalink / raw) To: rms; +Cc: emacs-devel Richard Stallman wrote: > We decided some months ago to get rid of "iff" from Emacs doc strings > because quite a number of users are unfamiliar with it. > > Would someone like to carry this out? done ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: typo in accept-process-output (process.c) 2007-08-08 7:54 ` Glenn Morris @ 2007-08-09 0:07 ` Richard Stallman 0 siblings, 0 replies; 32+ messages in thread From: Richard Stallman @ 2007-08-09 0:07 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel Thank you very much for dealing with the iffs. ^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2007-08-13 5:00 UTC | newest] Thread overview: 32+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-08-05 12:04 typo in accept-process-output (process.c) Dieter Wilhelm 2007-08-05 12:21 ` David Kastrup 2007-08-05 20:01 ` Glenn Morris 2007-08-05 22:54 ` Dieter Wilhelm 2007-08-06 0:06 ` Nick Roberts 2007-08-06 6:41 ` Dieter Wilhelm 2007-08-06 14:19 ` Richard Stallman 2007-08-06 20:50 ` Michael Olson 2007-08-07 11:02 ` Stephen Berman 2007-08-07 11:18 ` David Kastrup 2007-08-07 11:31 ` Jason Rumney 2007-08-07 16:37 ` Stefan Monnier 2007-08-07 17:33 ` Drew Adams 2007-08-07 22:01 ` Dieter Wilhelm 2007-08-07 22:17 ` Lennart Borgman (gmail) 2007-08-07 23:16 ` Drew Adams 2007-08-08 0:06 ` Jason Rumney 2007-08-08 0:21 ` Drew Adams 2007-08-09 0:07 ` Richard Stallman 2007-08-08 3:06 ` Eli Zaretskii 2007-08-08 5:50 ` Dieter Wilhelm 2007-08-08 18:43 ` Eli Zaretskii 2007-08-08 20:14 ` David Kastrup 2007-08-08 20:24 ` Stefan Monnier 2007-08-08 20:27 ` martin rudalics 2007-08-08 20:53 ` Stefan Monnier 2007-08-12 20:33 ` Christian Schlauer 2007-08-12 22:01 ` Stephen Berman 2007-08-13 5:00 ` Richard Stallman 2007-08-05 20:54 ` Richard Stallman 2007-08-08 7:54 ` Glenn Morris 2007-08-09 0:07 ` 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).