What are you “here” with today?

Forum Forums New users Welcome to antiX What are you “here” with today?

  • This topic has 1,420 replies, 37 voices, and was last updated May 12-4:56 am by Trashthrasher.
Viewing 15 posts - 1,186 through 1,200 (of 1,421 total)
  • Author
    Posts
  • #103689
    Moderator
    Brian Masinick
      Helpful
      Up
      0
      ::

      By the way, I first started researching some of this in the late 1980s, not quite ten years after I got my Bachelor of Science degree in Computer Science.
      I took one class in Computer Operating Systems Theory to get my initial start in graduate studies, and I wrote a term paper about Operating Systems History and specifically wrote primarily about MULTICS, a fascinating operating system that was extremely powerful, yet had to run on computers costing millions of dollars in those days.

      UNIX was originally invented at AT&T Bell Systems Laboratories by some guys who had an incredible degree of freedom to experiment, develop, and eventually implement ideas, only a few of which actually made it into volume products. In those days, only HUGE companies like AT&T, Xerox (mostly cameras and copiers in those days), General Electric, RCA, and IBM had a lot of research taking place in electronics and computers. UNIX was a sharply scaled down rewrite of MULTICS into “Eunuchs”, a.k.a. UNIX, as only geek punsters can envision.

      It took literally a couple of decades before inexpensive computers were able to run the likes of what MULTICS did expensively on a very limited scale, but that effort became known as Linux. The early Linux didn’t have the machines with the power to equal MULTICS, but within 10-15 years it certainly did and now it arguably greatly exceeds what mainframe computers were doing when I got out of the university, and it isn’t even close.

      I hope you and others enjoy this diversion into history. I remember some of it accurately, but I’ve checked various sources as I go to make sure that it’s reasonably accurate.

      We have some GREAT software in antiX. The one thing that disappoints me a bit in our industry is that we haven’t made very many NEW huge strides; by now I thought we’d have at least the beginnings of the next generation of stuff. Oh, sure, Google and Facebook keep thinking that they’ve invented something, but it’s like combining mustard, ketchup, and pickles, put it all together and say you have another invention. To me, the only actual inventions are things I was imminently expecting around 2000 and it was 2009 when I bought my first Android device that I had expected would start becoming prevalent around 2000. Now in 2023 we do have a lot of mobile computers, mobile phones and Artificial Intelligence and they are improving, but the guy who first wrote “Moore’s Law” about technology doubling in capabilities would be disappointed with what has been accomplished, in spite of the progress.

      Maybe the most interesting progress has been harnessing that technology so that our friends in Brazil, Portugal, France, Germany, Greece, Japan, Ireland, Russia, China, and other lands can communicate. I’m grateful, for instance, in the ability to communicate with Marcelo, though without language translation tools, we’d be fortunate to open a language translation book and spend hours attempting to communicate; with ONLINE language translation tools, we communicate all the time and THAT I think IS awesome!

      --
      Brian Masinick

      #103690
      Moderator
      Brian Masinick
        Helpful
        Up
        0
        ::

        One of my .bashrc files, this one has been modified from previous .profile, .kshrc, and .bashrc files. By keeping the syntax as close as possible to the original Bourne Shell syntax, I’ve been able to adapt, change, yet keep a large portion of this shell configuration code intact since the mid 1990s when I worked at Digital Equipment Corporation in the Digital UNIX Development Environment (DUDE) group! Some of it I had in place even before that, dating to the late 1980s!

        Here’s something close to what I use now; I cut OUT a few things no longer used and I may have added 1 or 2 aliases not shown; feel free to use what you want but if you take a function written by someone that I cited, please do the same if you share it with anyone. Thank you!

        #!/bin/bash
        # File: .bashrc
        #
        # Author:
        #  Brian W. Masinick
        # Purpose:
        #  Defines variables, aliases, and functions for shortening typing
        #  and tasks.  Used with the Bourne Again Shell, bash, from the GNU
        #  project of the Free Software Foundation.
        #
        # NOTE: This file is an adaptation of my .kshrc file, removing things
        # that are peculiar to the Korn Shell, ksh.
        #
        # Conventions:
        #  I define every procedure and function using UpperCase Words Like
        #  this and prepend each name with TheMas to reduce the likelihood of
        #  a naming collision with a command, script, or program.
        
        #  The procedures are invoked at the bottom of the file.  The
        #  functions or procedures can be called at any time by any
        #  procedure, which is why breaking the procedures and functions into
        #  similar groupings makes sense.  The organization of the procedures
        #  may need to be adjusted periodically to keep in step with my
        #  current work.
        
         
        if [ -f .bash_aliases ]
        then
            source .bash_aliases
        fi
        
        TheMasPrinters()    # define printer aliases
        {
        
            #
            # Printing aliases...
            #
        
            alias lpi='lpr  -K2 -N1'
         
        
        }
        
        TheMasMisc()        # miscellaneous aliases I like to use
        {
            alias bye='clear; kill -1 0'
            alias c="clear;pwd"
            alias cls=clear sd=cd
            alias lo='clear;  kill -1 0'
            alias m='more'
        
            alias help=apropos
            alias ga='sudo ping -c2 google.com'
            alias ya='sudo ping -c2 yahoo.com'
            
            # history aliases...
        
            alias h='fc -l'
            alias re='fc -e -'
            alias zaphist="rm -f /home/masinick/.bwm_history"
        
            # host aliases...
        
            alias host=hostname
            alias rw="rwho | sort +1"
        
            # desktop office tool aliases...
        
            alias e=emacs
            alias kh='exec /usr/bin/ksh'
            alias R='repl -cc all -filter ~/.mhfilter'
        
            alias inst='sudo apt-get update; sudo apt-get install $@'
            alias ugb='sudo apt-get update; sudo apt-get dist-upgrade; sudo update-grub'
            alias ug='sudo apt-get update; sudo apt-get dist-upgrade'
            alias ur='sudo apt-get autoremove'
            alias rb='sudo reboot'
            alias pow='sudo poweroff'
        
            alias    n='$HOME/bin/null.bash $@'
            alias null='$HOME/bin/null.bash $@'
        }
        
        TheMasFileManagement()    # commands I use to operate on files and dirs.
        {
            # directory movement aliases...
        
            alias b="cd ~/bin"
            alias cd='g'
            alias home=cd
        
            # file management aliases...
        
            alias del="rm -i"
            alias copy=cp
            alias del='rm -i'
            alias dir="ls -aqFC"
            alias type=cat
            alias l='ls -aqCF'
            alias ll='ls -l'
            alias lsd='ls -algFqd'
            alias lsf='ls -F'
            alias lsi='ls -algFqi'
            alias lsl="ls -algFq"
            alias lsr='ls -aqCFR'
            alias lst="ls -algsFqt"
            alias lst10="lst | head -10"
            alias lst20="lst | head -20"
            alias lst30="lst | head -30"
            alias lst40="lst | head -40"
            alias lst50="lst | head -50"
            alias lst60="lst | head -60"
            alias lst70="lst | head -70"
            alias pdw=pwd
            alias pd=pwd
            alias wpd=pwd
        }
        
        TheMasTerm()
        {
        
            alias vt100="TERM=vt100; export TERM"
            alias vt102="TERM=vt102; export TERM"
            alias vt200="TERM=vt200; export TERM"
        
            alias xrs='set noglob; eval $(resize -s \!\*) unset noglob'
            alias xs='set noglob; eval $(resize) unset noglob'
        }
        
        TheMasWorkon()
        {
        
        ####################################################################
            #
            # Tom Woodburn's stuff (adapted) below...
            #
        
        ####################################################################
        
            export HISTFILE=/home/masinick/.bwm_bash_history
            export HISTSIZE=1500
        
            HOST=$(hostname)
            export HOST
        }
        
        ########################################################################
        #
        #
        # Bill Gray's functions (adapted) below...
        #
        ########################################################################
        #
        
        # directory stack functions
        
        declare -i DNUM=0
        DLIST[DNUM]=<$(pwd)
        
        function g        # go to a directory
        {
            if builtin cd "$@" >/dev/null  &&  [ ${DLIST[DNUM]} != "$PWD" ]
            then
                DNUM=DNUM+1
                DLIST[DNUM]=$PWD
            fi
            pwd
        }
        
        function gb        # go back
        {
            if (( $DNUM > 0 ))
            then
                DNUM=DNUM-1
            fi
            g ${DLIST[DNUM]}
        }
        
        function gn        # go to selected (nth) dir
        {
            select DIR in $(echo ${DLIST[*]} | tr " " "\012"; | sort -u -y0)
            do
                if [ "$DIR" ]
                then
                    g $DIR
                else
                    g $REPLY
                fi
                break
            done
        }
        
        function up        # go up n levels
        {
            declare -i levels
        
            levels=${1}
        
            if [ -z "${1}" ] && [ ${PWD} != "/" ]
            then
              g ..
              return $?
            fi
        
            while [ ${levels} -gt 0 ] && [ ${PWD} != "/" ]
            do
              g ..
              levels=levels-1
            done
        }
        
        function lpit
        {
            for file in $*
            do
                pr -e8 -f $file | lpr -J $file -P doc1
            done
        }
        
        function lpsrc
        {
            for file in $*
            do
                pr -e8 -f -n5 $file | lpr -J $file -P doc1
            done
        }
        
        function lp_2sides
        {
            for file in $*
            do
                pr -e8 -f -n5 $file | lpr -J $file -P doc1 -K 2
            done
        }
        
        function lp_2sides_2up
        {
            for file in $*
            do
                pr -e8 -f -n5 $file | lpr -J $file -P doc1 -K 2 -N 2
            done
        }
        
        function t
        {
            export TERM=$1
            xs
        }
        
        function addpath
        {
            PATH=$PATH:$1
            echo $PATH
        }
        
        function log
        {
            echo $(date '+%D %H:%M') >> ~/.logfile
            echo "$*" >> ~/.logfile
            echo >> ~/.logfile
            date
        }
        
        function todo
        {
            echo $(date '+%D %H:%M'<) >> ~/todo
            echo "$*" >> ~/todo
            echo >> ~/todo
        }
        
        function rot13
        {
            tr [a-z][A-Z] [n-z][a-m][N-Z][A-M]
        }
        
        function unrot13
        {
            tr [a-m][n-z][A-M][N-Z] [n-z][a-m][N-Z][A-M]
        }
        
        # Remove files that are a symbolic link to some other file, (eg. UnLink)
        
        function UL
        {
            for i in $*
            do
                if [ -L $i ]; then
                    f=$(ls -al $i | sed "s/^.*-> //";)
                    rm -f $i
                    cp $f $i
                fi
            done
        }
        
        function clock1
        {
          while true; do clear
          echo "==========="
          date +"%r"
          echo "==========="
          sleep 1
          done
        }
        
        ########################################################################
        #
        #
        # Call the routines that I use each time that I login.
        #
        ########################################################################
        #
        
        # Main            # <--- Main
        
        # Set the default directory and file protection mask.  By default, do
        # not mask any protection on my ownership, but remove default write
        # access for the group, and do not give "world" any default access.
        
        export SHELL=/bin/bash
        umask 022
        
        OS=$(uname)
        echo "The current HOST is $HOST"
        echo "The terminal type is $TERM";echo ""
        
            #
            # Define the default editing mode
            #
        
        set -o emacs
        
        TheMasPrinters
        TheMasMisc
        TheMasFileManagement
        TheMasTerm
        TheMasWorkon
        
        date +"%b %d, %Y  %r"
        echo ""
        
        vt200
        PS1='[\h]$PWD: > '
        
        return    # get out of any functions I may be in
        
        # Finished .bashrc
        • This reply was modified 1 month, 1 week ago by Brian Masinick. Reason: if or " appear, replace them with $( and ) around code, " or '

        --
        Brian Masinick

        #103695
        Moderator
        Brian Masinick
          Helpful
          Up
          0
          ::

          When I first transferred my .bashrc, multiple special characters were replaced; if you happen to see any lines containing , it's probably an argument with a dollar sign $ followed by a left paren (, and the ending code has a right paren ).

          Quotations like ” and ‘ also were interpreted when first copied; if it happens again these can be replaced. I *think* I found ’em, but if the forum re-translates them again that is what is happening. The actual script works fine.

          --
          Brian Masinick

          #103702
          Moderator
          Brian Masinick
            Helpful
            Up
            0
            ::

            By the way with “modern day Emacs”, a lot of people may not even know all of the numerous key sequences and tools.
            I’ve seen some of the very newest offshoots of Emacs and they’re barely recognizable, but most of the “old stuff”
            is out there and can be accessed for those of us who have old habits and ways…
            Stuff like Esc < goes to the beginning of the file, Esc > goes to the end of the file, and there are tons
            of keys mapped to sequences, any of which can be altered (or reused for a different behavior) when you enter a
            different “mode”, and revert to yet another behavior when the mode or “routine” is changed.

            --
            Brian Masinick

            #103703
            Moderator
            Brian Masinick
              Helpful
              Up
              0
              ::

              Another little thing: on one of my old systems I have a few editors installed but NOT the full GNU Emacs.
              On my Lenovo X201 at the moment, I do have the e3 editor, and emacs: symbolic link to /usr/bin/e3em
              e3 is a VERY small editor, capable of emulating emacs, nedit, pico, vi, and wordstar!
              [antix23]/usr/bin: > ls e3*
              e3 e3em e3ne e3pi e3vi e3ws

              Understand that it’s not COMPLETE emulation, it simply mimics basic keystrokes and simple movement, but
              it’s pretty cool for a SMALL editor like e3 to do that!

              --
              Brian Masinick

              #103704
              Moderator
              Brian Masinick
                Helpful
                Up
                0
                ::
                pinxi -Fxxz
                System:
                  Kernel: 6.2.9-1-liquorix-amd64 arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
                    Desktop: IceWM v: 3.3.2 dm: slimski Distro: antiX-23-beta1-runit_x64-full
                    Grup Yorum 21 March 2023 base: Debian GNU/Linux 12 (bookworm)
                Machine:
                  Type: Laptop System: HP product: HP Laptop 14-fq1xxx v: N/A
                    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
                  Mobo: HP model: 887C v: 59.11 serial: <superuser required> UEFI: AMI
                    v: F.18 date: 11/26/2021
                Battery:
                  ID-1: BAT0 charge: 40.6 Wh (99.8%) condition: 40.7/40.7 Wh (100.0%)
                    volts: 12.9 min: 11.3 model: HP Primary serial: <filter>
                    status: not charging
                CPU:
                  Info: 6-core model: AMD Ryzen 5 5500U with Radeon Graphics bits: 64
                    type: MT MCP arch: Zen 2 rev: 1 cache: L1: 384 KiB L2: 3 MiB L3: 8 MiB
                  Speed (MHz): avg: 2041 high: 2100 min/max: 1400/4056 boost: enabled cores:
                    1: 2100 2: 2100 3: 2100 4: 2100 5: 2100 6: 2100 7: 1397 8: 2100 9: 2100
                    10: 2100 11: 2100 12: 2100 bogomips: 50300
                  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
                Graphics:
                  Device-1: AMD Lucienne vendor: Hewlett-Packard driver: amdgpu v: kernel
                    arch: GCN-5 pcie: speed: 8 GT/s lanes: 16 ports: active: eDP-1
                    empty: HDMI-A-1 bus-ID: 03:00.0 chip-ID: 1002:164c temp: 45.0 C
                  Device-2: Chicony HP TrueVision HD Camera type: USB driver: uvcvideo
                    bus-ID: 2-3:3 chip-ID: 04f2:b6f1
                  Display: server: X.Org v: 1.21.1.7 driver: X: loaded: amdgpu
                    unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu display-ID: :0.0
                    screens: 1
                  Screen-1: 0 s-res: 1920x1080 s-dpi: 96
                  Monitor-1: eDP-1 mapped: eDP model: ChiMei InnoLux 0x1429 res: 1920x1080
                    dpi: 158 diag: 354mm (13.9")
                  API: OpenGL v: 4.6 Mesa 22.3.6 renderer: AMD Radeon Graphics (renoir LLVM
                    15.0.6 DRM 3.49 6.2.9-1-liquorix-amd64) direct-render: Yes
                Audio:
                  Device-1: AMD Renoir Radeon High Definition Audio vendor: Hewlett-Packard
                    driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
                    bus-ID: 03:00.1 chip-ID: 1002:1637
                  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Hewlett-Packard
                    Raven/Raven2/FireFlight/Renoir Processor driver: snd_rn_pci_acp3x
                    v: kernel pcie: speed: 8 GT/s lanes: 16 bus-ID: 03:00.5 chip-ID: 1022:15e2
                  Device-3: AMD Family 17h/19h HD Audio vendor: Hewlett-Packard
                    driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
                    bus-ID: 03:00.6 chip-ID: 1022:15e3
                  API: ALSA v: k6.2.9-1-liquorix-amd64 status: kernel-api with: apulse
                    type: pulse-emulator
                Network:
                  Device-1: Realtek vendor: Hewlett-Packard driver: rtw89_8852ae v: kernel
                    pcie: speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 01:00.0 chip-ID: 10ec:a85a
                  IF: wlan0 state: up mac: <filter>
                Bluetooth:
                  Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8
                    bus-ID: 2-4:4 chip-ID: 0bda:385a
                  Report: hciconfig ID: hci0 rfk-id: 1 state: down bt-service: disabled
                    rfk-block: hardware: no software: yes address: <filter>
                Drives:
                  Local Storage: total: 238.47 GiB used: 19.78 GiB (8.3%)
                  ID-1: /dev/nvme0n1 vendor: Toshiba model: KBG40ZNV256G KIOXIA
                    size: 238.47 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> temp: 40.9 C
                Partition:
                  ID-1: / size: 47.76 GiB used: 19.73 GiB (41.3%) fs: ext4 dev: /dev/nvme0n1p5
                  ID-2: /boot/efi size: 256 MiB used: 56.1 MiB (21.9%) fs: vfat
                    dev: /dev/nvme0n1p1
                Swap:
                  ID-1: swap-1 type: partition size: 7.81 GiB used: 0 KiB (0.0%) priority: -2
                    dev: /dev/nvme0n1p6
                Sensors:
                  System Temperatures: cpu: 49.0 C mobo: N/A gpu: amdgpu temp: 45.0 C
                  Fan Speeds (RPM): fan-1: 0 fan-2: 0
                Info:
                  Processes: 223 Uptime: 5m Memory: 7.08 GiB used: 631.6 MiB (8.7%)
                  Init: runit v: N/A runlevel: 2 Compilers: gcc: 12.2.0 alt: 12 Packages:
                  pm: dpkg pkgs: 1684 Shell: Bash v: 5.2.15 running-in: roxterm
                  pinxi: 3.3.26-3

                --
                Brian Masinick

                #103705
                Moderator
                Brian Masinick
                  Helpful
                  Up
                  0
                  ::

                  Regarding building Emacs, back when I had either a VAXstation or an AlphaStation I used to build my own copies of GNU Emacs. I do recall that it all began with the ./configure, but if there were particular parameters needed that were not automatically recognized at this stage, it was necessary to either edit an input configuration file OR pass arguments to the tool. I’d have to actually do it because it may have been close to 25 years since I’ve REGULARLY built my own instance of GNU Emacs, and I have built it on VAX/VMS and Digital UNIX in the distant past.

                  --
                  Brian Masinick

                  #103714
                  Member
                  bci
                    Helpful
                    Up
                    0
                    ::

                    @bci I certainly do not take issue with any of your points, and these days, most systems, even 10-15 year old systems can easily handle Emacs

                    Yep, like mine. I find a noticeable performance boost (for Emacs) when I’m using a more lightweight windowing environment such as Fluxbox (as opposed to XFCE, which I also have installed in my current AntiX).

                    and you’re right, there are countless features that have been added over the years. Some people even kid about it as the “operating system that can also edit files!”

                    Unfortunately, we aren’t there yet. 🙂 Though, to be sure, I do most of my file management in Dired; I only touch Thunar when I have to do something strange involving other partitions on my drive, and even then it’d be nice to do literally all of it in Emacs. I’ve even though of writing an Elisp daemon that would function as a system Trash can, obviating the need for e.g. the XFCE one.

                    Did you happen to know any of those tidbits?

                    I knew of the existence of the TECO editor, and how it was supposed to have an eccentric-looking scripting language; and that “Emacs” stands for “Editor Macros”.

                    Funny, this topic has been coming up recently for me, since when editing Elisp I sometimes hit C-h g by accident (when I want to hit C-h f), and the former binding launches (in your browser) this page describing the GNU Project.

                    I came across this quote on Wikipedia:

                    Controversially, Unipress asked Stallman to stop distributing his version of Emacs for Unix. UniPress never took legal action against Stallman or his nascent Free Software Foundation, believing “hobbyists and academics could never produce an Emacs that could compete” with their product.

                    Huh. The annals of history would tell a different tale.

                    • This reply was modified 1 month, 1 week ago by bci. Reason: punctuation
                    #103716
                    Moderator
                    Brian Masinick
                      Helpful
                      Up
                      0
                      ::

                      “Huh. The annals of history would tell a different tale.”

                      You’re so right 👍

                      --
                      Brian Masinick

                      #103761
                      Moderator
                      Brian Masinick
                        Helpful
                        Up
                        0
                        ::

                        I’ve been “Out and about” for most of the day so far and I’m sitting in a waiting room while my wife awaits her appointment. Half hour past the scheduled time already.

                        Hopefully we’ll get home before dusk!

                        --
                        Brian Masinick

                        #103773
                        Moderator
                        Brian Masinick
                          Helpful
                          Up
                          0
                          ::

                          It’s a nice day outside but this waiting room feels like I am sitting inside of a refrigerator!

                          --
                          Brian Masinick

                          #103782
                          Moderator
                          Brian Masinick
                            Helpful
                            Up
                            0
                            ::

                            I “finally” made it home, so I booted up antiX-23-beta1-runit_x64-full Grup Yorum 21 March 2023.

                            Here’s today’s info

                            pinxi -b
                            System:
                              Host: antixBeta-hp-14-fq-1025 Kernel: 6.1.18-antix.1-amd64-smp arch: x86_64
                                bits: 64 Desktop: IceWM v: 3.3.2 Distro: antiX-23-beta1-runit_x64-full Grup
                                Yorum 21 March 2023
                            Machine:
                              Type: Laptop System: HP product: HP Laptop 14-fq1xxx v: N/A
                                serial: <superuser required>
                              Mobo: HP model: 887C v: 59.11 serial: <superuser required> UEFI: AMI
                                v: F.18 date: 11/26/2021
                            Battery:
                              ID-1: BAT0 charge: 40.6 Wh (99.8%) condition: 40.7/40.7 Wh (100.0%)
                            CPU:
                              Info: 6-core AMD Ryzen 5 5500U with Radeon Graphics [MT MCP] speed (MHz):
                                avg: 1413 min/max: 1400/4056
                            Graphics:
                              Device-1: AMD Lucienne driver: amdgpu v: kernel
                              Device-2: Chicony HP TrueVision HD Camera type: USB driver: uvcvideo
                              Display: server: X.Org v: 1.21.1.7 driver: X: loaded: amdgpu
                                unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu
                                resolution: 1920x1080~60Hz
                              API: OpenGL v: 4.6 Mesa 22.3.6 renderer: AMD Radeon Graphics (renoir LLVM
                                15.0.6 DRM 3.49 6.1.18-antix.1-amd64-smp)
                            Network:
                              Device-1: Realtek driver: rtw89_8852ae
                            Drives:
                              Local Storage: total: 238.47 GiB used: 19.45 GiB (8.2%)
                            Info:
                              Processes: 247 Uptime: 24m Memory: 7.1 GiB used: 1.67 GiB (23.5%)
                              Shell: Bash pinxi: 3.3.26-3

                            --
                            Brian Masinick

                            #103783
                            Moderator
                            Brian Masinick
                              Helpful
                              Up
                              0
                              ::

                              Weather report: 29617

                              Overcast
                              .–. 71 °F
                              .-( ). ↑ 3 mph
                              (___.__)__) 9 mi
                              0.0 in

                              --
                              Brian Masinick

                              #103786
                              Member
                              bci
                                Helpful
                                Up
                                0
                                ::

                                Regarding building Emacs, back when I had either a VAXstation or an AlphaStation I used to build my own copies of GNU Emacs. I do recall that it all began with the ./configure, but if there were particular parameters needed that were not automatically recognized at this stage, it was necessary to either edit an input configuration file OR pass arguments to the tool. I’d have to actually do it because it may have been close to 25 years since I’ve REGULARLY built my own instance of GNU Emacs, and I have built it on VAX/VMS and Digital UNIX in the distant past.

                                That sounds really cool. Thing is, certain Emacs packages can have unexpected dependencies on certain C libraries. For example, mastodon.el, which lets you view and post on Mastodon, works only if your Emacs was compiled with built-in libxml2 support, which I didn’t specify when I recently built Emacs 28 from source. And it took a long time to compile on my X201, probably because I specified native-compilation, so it was literally (from what I could tell) compiling a bunch of Elisp into native x86 assembly. All that for nothing! Oh well. So I fell back to using the packaged Debian version, which is currently 27. The Debian people seem to know “what to put in it”.

                                But if Emacs 29 looks too tempting (I was already loving 28), I may have to get better at compiling Emacs from source, maybe hit up a subreddit or Emacs Stack Exchange for some pointers. We’ll see.

                                • This reply was modified 1 month, 1 week ago by bci. Reason: Fix markup
                                #103834
                                Moderator
                                Brian Masinick
                                  Helpful
                                  Up
                                  0
                                  ::

                                  Back when I compiled GNU Emacs, the first release I remember building was GNU Emacs 18. I think the revision was a pretty late one, possibly 18.53 or something like that; in any case, Version 19 was probably in the works. In fact, I believe that Jamie Zawinski may have already been building his own XEmacs 19 with more graphical features because GNU Emacs did not yet include all of that in the standard version.

                                  That DID mean that it was much easier to build in those days. I think I built Version 19 a few times, but I don’t remember after that.
                                  I’m pretty sure that it’s very involved to build the entire environment today because it has so many more extensions and visual capabilities than it had twenty or more years ago.

                                  --
                                  Brian Masinick

                                Viewing 15 posts - 1,186 through 1,200 (of 1,421 total)
                                • You must be logged in to reply to this topic.