Problem/Motivation
Quoted from parent issue:
Discovered at #2972224: Add .cspell.json to automate spellchecking in Drupal core, and pointed by @xjm in https://www.drupal.org/project/drupal/issues/3122088#comment-13628724
@xjm:
Should be hyphenated (un-assign, de-prioritize, re-render, etc.)
There's an interesting question of where to draw the line for these. Generally in English these prefixes are morphologically productive with a hyphen, and get de-hyphenated when the word is adopted into common usage. "Denormalize", "Unsanitized", "Uninstantiated" etc. are all obviously in common usage in programming. "Unsticky", "Unrevisionable", and the like are Drupal terminology, and I'm surprised that "unpublish" and friends aren't already in the main dictionary.
The parent issue tried to fix all words that should be hyphenated, but the patch for this was getting too big thus making it tricky to review. Also there were some debate about which words should be hyphenated, and which shouldn't. So they argued it would be better to separate the issue into 3 smaller ones (one each for words starting with 're', 'de' and 'un'). (see comment links bellow)
#3138768 #26.2 @xjm talks about the presave word and suggests to divide the issue.
#3138768 #31 @longwave agrees to divide the issue and says it's getting tricky to review.
#3138768 #36 @davidhernandez questions about if some words should be hyphenated.
#3138768 #38 @quietone agrees with @longwave about creating separated issues.
Proposed resolution
Check and decide as a group, with first-language speakers contributing, which of the following words are correct in Drupal and which should be hyphenated, then fix them as needed on the code.
- unban -> TODO: Look up context
- uncacheable -> un-cacheable
- uncategorized -> un-categorized (? – check if this is in the dictionary)
- ungroup -> un-group
- ungroupable -> un-groupable
- unindexed -> un-indexed
- unmanaged -> TODO: Look up context
- unminified -> un-minified (? – maybe de-minified)
- unmoderated -> un-moderated
- unpromote -> un-promote
- unpublish -> un-publish (? – check dictionary on this)
- unpublishing -> un-publishing (? - check dictionary on this)
- unrevisionable -> un-revisionable
- unrouted -> TODO: Look up context
- unserialized -> un-serialized
- unsets -> un-sets (? – check dictionary on this)
- unsetting -> un-setting (? – check dictionary on this)
- unsticky -> un-sticky
- untabbable -> TODO: Look up context
- #3392740: Fix spelling of 5 'un' words in comments
- undoable -> TODO: Look up context
- unfieldable -> un-fieldable
- uninstallation -> un-installation
- uninstallations -> TODO: Look up context
- unpublishes -> un-publishes (? – check dictionary on this)
- #3403211: Hyphenate 4 words that start with 'un'
- unsanitized -> un-sanitized
- unserialization -> un-serialization
- unserializes -> un-serializes
- unserializing -> un-serializing
- #3409362: Fix spelling of some words with 'un' prefix
- unaliased
- unallowed
- unconfigured
- undelayed
- undraggable
- unextracted
- unflagged
- unhashed
- unhides
- unindented
- uninstantiatable
- uninstantiated
- unixepoch This is an SQLite function
- unixtimestamp
- unkeyed
- unmatch
- unpermissioned
- unpreloaded
- unrendered
- unshortened
- unsimplified
- untarring
- untrustable
- #3412959: Fix 12 'un' words
- unassigning -> un-assigning
- unassigns -> un-assigns
- unbans -> TODO: Look up context
- unbundleable -> un-bundleable
- unclickable -> TODO: Look up context
- uncollapsible -> TODO: Look up context
- ungenerated -> TODO: Look up context
- unparseable -> un-parseable
- unpromoted -> un-promoted
- unregisters -> un-registers
- unvalidated -> TODO: Look up context
- unwrapper -> TODO: Look up context
Remaining tasks
- First, probably reduce the list above (as a non-native English speaker I couldn't remove all the 'obviously unhyphenated' words before posting here).
- Decide as a group what to do with each word.
- Remove and fix the words as defined by the group.
- Review.
- Commit.
User interface changes
API changes
Data model changes
Release notes snippet
Issue fork drupal-3265331
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 3265331-meta-fix-missing
changes, plain diff MR !8555
Comments
Comment #2
rootworkAdding Novice tag for the first step under "remaining tasks".
Requires native English speaker.
Task: Look at the list of words above, and provide feedback about which should be hyphenated.
Comment #4
cindytwilliams commentedTagging this issue for first time contributors at DrupalCon Prague 2022.
Comment #7
quietone commentedComment #8
deanbowles commentedI think the general idea with the "un-" prefix is to not use a hyphen unless it aids clarity or readability, such as when there's a potential for misreading or ambiguity. In most uses, none of these words should be hyphenated.
Comment #9
xjm@deanbowles, well, that is part of the reasoning; however, words like these become words through a productive morphological process in which a word is constructed from a bound morpheme prefix or suffix (like "un-"), and then if the new combination becomes a part of common parlance, gets backshifted and ends up in the dictionary without a hyphen. For example, consider that teenager was spelled as "teen-ager" in the 50s.
So, we will retain the scope currently as proposed for words starting with un- that are not misspellings of other words and that are not in our dictionary. A few words may need to be replaced with other phrases instead.
In no case can we leave the words as they are without doing some research or changing them where we're comfortable, because they are supposed to be English words but cspell does not accept them, so it's not in cspell-English.
Comment #10
bhumboldt commentedI plan to work on this issue with a team of Novice contributors with @xjm mentoring. We anticipate working on this this week and next week as well.
Comment #12
bhumboldt commentedDiscussed this issue with @xjm, @allison-herodevs, @ashley_herodev. We went over the list of words starting with "un" that are currently in the dictionary. It seems like some issues should be handled in this scope as they need a hyphen, but some others might need separate child issues as they need more context or may need to be replaced with a different word. We will continue to work on this
Comment #13
xjmAdding to #12, the IS has been updated with our initial thoughts.
Comment #14
bhumboldt commentedI wanted to give an update that we are still working on this and should have a more substantial update next week
Comment #15
xjmComment #16
quietone commentedComment #17
quietone commentedComment #18
quietone commentedComment #19
quietone commentedComment #20
quietone commentedComment #21
quietone commentedI think the remaining words are in code or user facing text.
Comment #23
quietone commented@sanket.tale, Welcome to Drupal! Take care when creating forks, this is a meta issue that does not need an MR. I urge you to read the Contribution Guide to help you find issues suited to your skills and interests.
Comment #24
sanket.tale commentedHi @quietone Just getting started and learning how to contribute. I'll look over the documentation and identify the issue based on my skill set. Many thanks!
Comment #27
chandansha commentedplease review my small contribute if i am wrong please guide me.
Thanks!!
Comment #28
xjm@Chandansha, this is a "Plan" issue, which means we do not create merge requests against it. Instead, we make child issues for the individual tasks with different kinds of fixes according to our scope guidelines. Please don't create merge requests for a single word; furthermore, I would not recommend working on the child issues until we've fixed the plan for them. Thanks!
Comment #30
quietone commentedRemoving novice tag because the list is reduced to the one that are a bit harder and require some research.
Comment #31
quietone commented