home.social

#vhdl — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #vhdl, aggregated by home.social.

  1. @JdeBP

    Maybe you learned #VHDL in the interim.  (-:

    Uh, NO, do you see me staring far off into the distance and drooling? 😂

    By the way, you made me re-visit the doco for case.  It should be ;& (just the one semi-colon) to fall through in all sh-conforming shells, because that was standardized back in 2024.  #NetBSD and #FreeBSD knew it was coming in 2017 and adjusted their Almquist shells.

    And I realized that I've been writing for a highest common factor that is actually too low, because the #FreeBSD manual for sh(1) is wrong.  They kept the shell conformant, but didn't keep the doco in synch.

    Huh, I tried sh, ksh, mksh, and bash with ;;, ;&, ;;&, and ;| on NetBSD, and the only ones that worked were bash and ksh.

    On this Devuan box, bash accepts ;;, ;&, and ;;& just as the manpage states (short-cut, accept all after first accpetance, evalute all, respectively)
    mksh works just like bash, but also accepts ;| as equivalent to bash's ;;& (which it also accepts)
    Dash's sh (debian almquist) only accepts ;;, and gives an execution-stopping syntax error with all of the other forms.

    On a freebsd server I tried, ksh (ksh93) only accepts ;; and ;&. sh acts the same. Tried an OpenBSD server and got the same result.

    Here's the test script:

    echo
    echo 'trying ;;'
    case a in a) echo its a;; b) echo its b;; *) echo its something;; esac
    echo
    echo 'trying ;&'
    case a in a) echo its a;& b) echo its b;& *) echo its something;& esac
    echo
    echo 'trying ;;&'
    case a in a) echo its a;;& b) echo its b;;& *) echo its something;;& esac
    echo
    echo 'trying ;|'
    case a in a) echo its a;| b) echo its b;| *) echo its something;| esac