Subject: bug#75964: Switching the Emacs build to -Wswitch-enum in src/

From: Stefan Monnier <[email-masked]>
Date: Sun, 02 Feb 2025 22:01:23 -0500

> 	      switch (bidi_it->type)
> 		{
> 		case STRONG_L:
> 		  flag = ((embedding_level & 1) == 0
> 			  ? FLAG_EMBEDDING_INSIDE
> 			  : FLAG_OPPOSITE_INSIDE);
> 		  l2r_seen = true;
> 		  break;
> 		case STRONG_R:
> 		case WEAK_EN:
> 		case WEAK_AN:
> 		  flag = ((embedding_level & 1) == 1
> 			  ? FLAG_EMBEDDING_INSIDE
> 			  : FLAG_OPPOSITE_INSIDE);
> 		  r2l_seen = true;
> 		  break;
> 		case UNKNOWN_BT:
> 		case WEAK_BN:
> 		case NEUTRAL_B:
> 		case STRONG_AL:
> 		case LRE:
> 		case LRO:
> 		case RLE:
> 		case RLO:
> 		case PDF:
> 		case LRI:
> 		case RLI:
> 		case FSI:
> 		case PDI:
> 		case WEAK_ES:
> 		case WEAK_ET:
> 		case WEAK_CS:
> 		case WEAK_NSM:
> 		case NEUTRAL_S:
> 		case NEUTRAL_WS:
> 		case NEUTRAL_ON:
> 		default: 		  break;
> 		}
>
> I think that could be rewritten to be more readable in a number of ways,

The most obvious one is to remove all the `case ..:` just before `default:`.
That would be my vote as well (tho only because I don't know that
code.  There might be a very good reason to keep it as above, of course).

> including, of course, putting a #pragma in.

I hate `#pragma`.

        Stefan